| Age | Commit message (Collapse) | Author |
|
access still needs to be decoded though
|
|
is to be improved though, writing needs to be implemented as well
|
|
|
|
tests bare the risk that things do not work properly outside of the sandbox.
|
|
and to be more efficient of course ;)
TODO: Added info about possible config improvement
|
|
|
|
the respective modules that use them
fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
|
|
|
|
simple tests
|
|
here and there ;)
|
|
repo: added head , tag and iter_trees methods for completeness
changes: headlines now sorted chronologically
|
|
CHANGES updated to carry information about remotes and config
|
|
* remotes:
remote: added tests for creation and removal, finishing the remote interface
remote: base tests succeed now
config: fixed serious issues that would cause it to see initial tabs as continuation lines - this leads to very incorrect results when parsing git config files. Now the complete reading is overridden to make it work as there was no other way
Added configuration access including tests to remote
Added remote module and test cases - about to implement remote option handling
added initial frame for remote handling- remotes are somewhat related to either parsing the command output or to reading the repo configuration which would be faster
|
|
|
|
|
|
continuation lines - this leads to very incorrect results when parsing git config files. Now the complete reading is overridden to make it work as there was no other way
|
|
config: fixed issue that would cause it to abort reading if the file did not exist - this is valid now
Test does not work as the configuration parsing does not work as expected - this must be fixed first
|
|
|
|
either parsing the command output or to reading the repo configuration which would be faster
|
|
* config:
added additional testing for the configuration, concurrent access and config reading, all tests work
implemented config class as far as necessary, one check is still failing
Added frame for configuration reader involving a meta class, decorators and tests - most of which still has to be filled out
|
|
reading, all tests work
|
|
Added odict module to get an OrderedDict to be used in the config parser, assuring the order of sections and options does not change
|
|
tests - most of which still has to be filled out
|
|
|
|
repository is bare and if there is no index or second tree specified
|
|
* diffing:
DiffIndex implemented including test
diff: implemented raw diff parsing which appears to be able to handle possible input types, DiffIndex still requires implementation though
resolved cyclic inclusion issue by moving the Diffable interface into the diff module, which probably is the right thing to do anyway
repo: fixed untracked files function which used git-commit before, it can open vim to get a message though which makes the program appear to freeze - using git-status now
implemented diff tests, but will have to move the diff module as it needs to create objects, whose import would create a dependency cycle
Removed a few diff-related test cases that fail now as the respective method is missing - these tests have to be redone in test-diff module accordingly
added Diffable interface to objects.base, its used by Commit and Tree objects.
Fixed object bug that would cause object ids not to be resolved to sha's as this was assumed - now there is a test for it as well
|
|
|
|
possible input types, DiffIndex still requires implementation though
|
|
diff module, which probably is the right thing to do anyway
|
|
open vim to get a message though which makes the program appear to freeze - using git-status now
|
|
create objects, whose import would create a dependency cycle
|
|
is missing - these tests have to be redone in test-diff module accordingly
|
|
Diff class has been prepared to process raw input, but its not yet more than a frame
|
|
this was assumed - now there is a test for it as well
repo: removed diff and commit_diff methods, added 'head' property returning the current head as Reference object
|
|
|
|
* repo_interface:
Improved archive function by allowing it to directly write to an output stream - previously it would cache everything to memory and try to provide zipping functionality itself
repo: made init and clone methods less specific, previously they wanted to do it 'barely' only. New method names closely follow the default git command names
repo.commit_delta_base: removed
Object can now create objects of the proper type in case one attempts to create an object directly - this feature is used in several places now, allowing for additional type-checking
repo: removed commits_between but added a note about how this can be achieved using the iter_commits method; reorganized methods within the type as a start for more interface changes
Added Commit.iter_parents to iterate all parents
repo: removed a few methods because of redundancy or because it will be obsolete once the interface overhaul is finished. This commit is just intermediate
|
|
stream - previously it would cache everything to memory and try to provide zipping functionality itself
gitcmd: allows the output stream to be set explicitly which is mainly useful for archiving operations
|
|
do it 'barely' only. New method names closely follow the default git command names
|
|
|
|
create an object directly - this feature is used in several places now, allowing for additional type-checking
|
|
achieved using the iter_commits method; reorganized methods within the type as a start for more interface changes
|
|
Renamed Commit.commits to iter_commits
repo: assured proper use of the terms revision ( rev ) and reference ( ref )
|
|
obsolete once the interface overhaul is finished. This commit is just intermediate
|
|
memory
time imports cleaned up and mostly removed as they were not required (anymore)
|
|
* iteration_and_retrieval:
test_performance: module containing benchmarks to get an idea of the achieved throughput
Removed plenty of mocked tree tests as they cannot work anymore with persistent commands that require stdin AND binary data - not even an adapter would help here. These tests will have to be replaced.
tree: now reads tress directly by parsing the binary data, allowing it to safe possibly hundreds of command calls
Refs are now truly dynamic - this costs a little bit of (persistent command) work, but assures refs behave as expected
persistent command signature changed to also return the hexsha from a possible input ref - the objects pointed to by refs are now baked on demand - perhaps it should change to always be re-retrieved using a property as it is relatively fast - this way refs can always be cached
test_blob: removed many redundant tests that would fail now as the mock cannot handle the complexity of the command backend
Implemented git command facility to keep persistent commands for fast object information retrieval
test: Added time-consuming test which could also be a benchmark in fact - currently it cause hundreds of command invocations which is slow
cmd: added option to return the process directly, allowing to read the output directly from the output stream
added Iterable interface to Ref type
renamed find_all to list_all, changed commit to use iterable interface in preparation for command changes
Added base for all iteratable objects
unified name of utils module, recently it was named util and utils in different packages
tree: renamed content_from_string to _from_string to make it private. Removed tests that were testing that method
tree: now behaves like a list with string indexing functionality - using a dict as cache is a problem as the tree is ordered, added blobs, trees and traverse method
test_base: Improved basic object creation as well as set hash tests
repo.active_branch now returns a Head object, not a string
IndexObjects are now checking their slots to raise a proper error message in case someone tries to access an unset path or mode - this information cannot be retrieved afterwards as IndexObject information is kept in the object that pointed at them. To find this information, one would have to search all objects which is not feasible
refs now take repo as first argument and derive from LazyMixin to allow them to dynamically retrieve their objects
|
|
achieved throughput
repo.commits: max_count is None by default
moved benchmark-like test from test_commit to test_performance
|
|
persistent commands that require stdin AND binary data - not even an adapter would help here. These tests will have to be replaced.
test_commit: Improved efficiency of traversal test
|
|
safe possibly hundreds of command calls
|
|
work, but assures refs behave as expected
|
|
possible input ref - the objects pointed to by refs are now baked on demand - perhaps it should change to always be re-retrieved using a property as it is relatively fast - this way refs can always be cached
|