This fixes a bug when parsing blame -p output: Full commit info headers only appear for the first line from a particular commit, but other lines were ignored as the blame info dict was reset after each line. This patch handles both multiple consecutive lines from a commit and interleaved lines from multiple commits. Added real test to verify blame works against the actual commit, not only a mock of what was produced by blame in old git releases
…ormance tests only work reliably in a patched up version, or the next point release.
… implemented now - depending on the performance, it might actually receive some more work
…all be enough for the first batch of work
… down actually
…ry inefficient, but can't help it. Basic repo tests don't work as dulwich ignores alternate files
…ing at least, which implicitly includes pack handling. For the pack specific tests to work, one would need a pack interface though, which is currently not planned to be specifically exposed
…everything from the existing implementation, but one by one things can be reimplmented to use dulwich. It also shows that py 2.6 is quite plagued from its new feature, which is actually a bug, as objects inability to accept any args makes mixins hard to use ...
…g things after all
…d module was not found. Its actually a nice mix between decorators which are class types, and a mixin as a metaclass, which applies said decorator. The InstanceDecorator wouldn't actually be needed, but it adds flexibility. Maybe it should be removed ...
… surface while integrating this
…t installation puts it into the path, instead of git.exe. Of course we warn about the performance penalty that goes with it. Fortunately, using a wrapped git.exe works when creating pipes to the process, admittedly I was a bit surprised by this. fixes #26
… have optimal results in all cases (at least the ones I can test) pack: now works properly with a sliding memory manager test_packedodb_pure: fixed very memory hungry implementation by using an iterator. This will of course reduce the measured performance a bit, but 750MB of memory is just a little bit too much for an ordinary test. Maybe it would be alright to just reduce the number of items ... but performance isn't a strength of python after all
pack: now using the global sliding memory manager. The current implementation uses assumes that packs are small enough to fit into memory right away, where the window size will be about 1 GB, as it never calls use_window() to assure the required offset actually exists. It will need to change to set the window appropriately.
…t is available
… be useful for tags as well, which might end up somewhere in the refs/remotes space. Its not likely that it will ever be used on a pure Reference instance though, but it is the smallest common base
… path, including simple test
…4 thanks to the rpartition method. omg
…of just async
…read-only files to be removed on windows as well
…counter partial or intermixed lines from the pipe. This really shouldn't be, but its windows so it happens
…ent, to help the submodule test to work even on windows
…submodule tests to run
…s that expect a stream
…ully. Fixed possible issue in test_refs, which occurred in 0.3 previously