| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
utilities - the repo module got rather large
|
|
|
|
| |
Shas still to be done
|
|
|
|
| |
tests missing
|
|
|
|
| |
its still rather slow and many tests are not yet implemented
|
| |
|
|
|
|
| |
the submodules's naming conventions
|
|
|
|
| |
replaced them by a real test which actually executes code, and puts everything into the tmp directory
|
| |
|
|
|
|
|
|
|
| |
use 20 byte sha's internally as it is closer to the GitDB implementation
Switched all remaining files back to tabs
Adjusted all remaining docstrings to suit the sphinx doc convention - its likely that there are many of docstring syntax errors though
|
|
|
|
|
|
| |
was actually empty. This is a rare case that can happen during stream testing. Theoretically there shouldn't be any empty streams of course, but practically they do exist sometimes ;); fixed stream.seek implementation, which previously used seek on standard output
Improved GitCmd error handling
|
| |
|
|
|
|
|
|
|
| |
can do much more than we can ( and faster assumably ), the .new method is used to create new index instances from up to 3 trees.
Implemented multi-tree traversal to facilitate building a stage list more efficiently ( although I am not sure whether it could be faster to use a dictionary together with some intensive lookup ), including test
Added performance to learn how fast certain operations are, and whether one should be preferred over another
|
|
|
|
| |
python version is about as fast, but could support multithreading using async
|
|
|
|
| |
repo: now has the option to use the pure python git database implementation, which is currently not used though
|
|
|
|
| |
Previously it was located in gitdb, which doesn't have any facilities to use the git command
|
| |
|
|
|
|
|
|
| |
was added instead
Adjusted all imports to deal with the changed package names
|
|
|
|
| |
but next there will have to be more through testing
|
|
|
|
| |
everything. Next is to implement pack-file reading, then alternates which should allow to resolve everything
|
|
|
|
|
|
| |
parsing which truncated newlines although it was ilegitimate. Its up to the reader to truncate therse, nowhere in the git code I could find anyone adding newlines to commits where it is written
Added performance tests for serialization, it does about 5k commits per second if writing to tmpfs
|
|
|
|
| |
Cmd: AutoInterrupt handles boundary cases more gracefully as it can be that the os module suddenly becomes None if the interpreter is going down
|
|
|
|
|
|
|
|
| |
and absolute paths were given
Commit.create_from_tree: fixed critical bug that would cause it to create a branch named master by default, instead of the reference actually set ( which is master in many, but not all cases )
- in fact it could be detached as well, we would fail ungracefully although we could assume master then ... although we cant really make the decision
Repo.is_dirty: improved its abiility to deal with empty repositories and a missing head. Weird thing is that the test always worked fine with the previous code, but it didn't work for me in a similar situation without this change at least
|
|
|
|
|
|
|
|
| |
repo.is_dirty: Will not fail on empty repo ( anymore )
index.entries: will just be empty if the repository is empty
refs: added to_full_path method which can be used to create fully synthetic instances of Reference types, added a test for it
Converted all touched files to spaces, which is why git reports so many changed files. Actually I was thinking every file would use spaces, but apparently not
|
|
|
|
| |
Fixed test which required to be on master to work - it now uses the HEAD symbolic ref instead.
|
| |
|
|
|
|
| |
Repo.init: fixed incorrect use of the path which was to optionally specify where to initialize the repository. Update test as well
|
|
|
|
| |
improve usability. There was no reason that only 'refs' is shortened, whereas there are 'heads' and 'tags' as well
|
|
|
|
| |
safer to use in case of bare repositories
|
|
|
|
| |
repository was initialized with a .git repository, although it was not bare actually
|
|
|
|
| |
Previously it would consider such a path a relative one and handle it incorrectly
|
|
|
|
|
|
| |
as expected. Its quite terrible to see a two-line method inflate to 20
as there is no git-daemon on windows, some tests will not work. The error message has been adjusted to be more precise for the poor people trying to run the tests on windows ( including myself )
|
|
|
|
|
|
| |
object
repo.tree: improved to be less restricting
|
|
|
|
| |
as sha, even if the passed in id was a ref. This is done to assure objects are uniquely identified and will compare correctly
|
|
|
|
| |
a convenient shortcut to using the classes manually
|
|
|
|
| |
all parameters to be used. The test would not test everything either, and I would consider this a bug that slipped through
|
|
|
|
| |
proven now that this is not happening if stderr is being redirected. A test is in place that will most likely fail in case this ever changes
|
|
|
|
| |
nice to use)
|
|
|
|
| |
TODO list
|
|
|
|
|
|
|
|
| |
types of references and allow special handling
Head.reset now is an instance method of HEAD type
Concatenated all reference specific tests into test_refs
started to fix tests breaking now because of changed interface
|
|
|
|
|
| |
repo.archive: made it work with new way of custom output streams
added test for repo.archive which was missing for some reason
|
|
|
|
| |
would compare HEAD against the working tree, not the index which was intended
|
|
|
|
| |
and be like an actual touch
|
|
|
|
| |
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
|
|
|
|
|
| |
repo: added head , tag and iter_trees methods for completeness
changes: headlines now sorted chronologically
|
|
|
|
| |
CHANGES updated to carry information about remotes and config
|