aboutsummaryrefslogtreecommitdiff
path: root/test/git/test_index.py
AgeCommit message (Collapse)Author
2010-11-21flattened test folder structure, didn't adjust any file content yetSebastian Thiel
2010-11-18commit: when creating a new commit and advancing the head, it will now write ↵Sebastian Thiel
the ORIG_HEAD reference as well
2010-10-27index.reset: updated parameter docs, but most importantly, the method now ↵Sebastian Thiel
has better testing for the use of paths during reset. The IndexFile now implements this on its own, which also allows for something equivalent to git-reset --hard -- <paths>, which is not possible in the git command for some probably very good reason
2010-10-27Fixed bug that would cause the author's email to be a generic default one, ↵Sebastian Thiel
instead of the existing and valid. The rest of the ConfigParser handling is correct, as it reads all configuration files available to git see http://github.com/Byron/GitPython/issues#issue/1
2010-10-25.gitignore will now ignore netbeans projectsSebastian Thiel
Fixed test which used the --force flag on move, but there is only a short version (left) it appears
2010-07-15Index._iter_expand_paths: fixed tiny error with large impact, there was code ↵Sebastian Thiel
using a / in a hardcoded fashion, leading to absolute paths where the caller expected relative ones
2010-06-28All tests adjusted to work with the changed internal sha representationSebastian Thiel
2010-06-25index.reset is now partly implemented using python, but in fact it resorts ↵Sebastian Thiel
to using git-read-tree to keep the stat information when merging one tree in. After all this is what needed to be implemented in python as well
2010-06-24IndexFile.add: writing of the index file can now optionally be turned off. ↵Sebastian Thiel
The default is to write the physical index, which is the behaviour you would expect
2010-06-24Multiple partly critical bugfixes related to index handlingSebastian Thiel
2010-06-23fixed critical bug in traverse_trees_recursive, implemented IndexFile.new ↵Sebastian Thiel
including simple test, it may be simple as the methods it uses are throroughly tested
2010-06-22Initial frame for implementing read_tree using pure python. As git-read-tree ↵Sebastian Thiel
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
2010-06-22index.write_tree: now uses MemoryDB, making tree handling more efficient as ↵Sebastian Thiel
IO will only be done when required. A possible disadvantage though is that time is spent on compressing the trees, although only the raw data and their shas would theoretically be needed. On the other hand, compressing their data uses less memory. An optimal implementation would just sha the data, check for existance, and compress it to write it to the database right away. This would mean more specialized code though, introducing redundancy. If IStreams would know whether they contain compressed or uncompressed data, and if there was a method to get a sha from data, this would work nicely in the existing framework though
2010-06-22Tree-Writing now works after fixing an off-by-one errorSebastian Thiel
2010-06-22index.write_tree: initial version implemented, although its not yet working ↵Sebastian Thiel
correctly, a test to explicitly compare the git version with the python implementation is still missing Tree and Index internally use 20 byte shas, converting them only as needed to reduce memory footprint and processing time objects: started own 'fun' module containing the most important tree functions, more are likely to be added soon
2010-06-21index: put serialization methods into new 'fun' module, this makes the calls ↵Sebastian Thiel
faster as it removes one level of indirection, and makes the main file smaller, improving maintainability
2010-06-21index.add: now uses gitdb.store functionality instead of git-hash-file. The ↵Sebastian Thiel
python version is about as fast, but could support multithreading using async
2010-05-12Repo: Added comparison operators and hash operator including testSebastian Thiel
Cmd: AutoInterrupt handles boundary cases more gracefully as it can be that the os module suddenly becomes None if the interpreter is going down
2010-05-10index.add: added index path rewrite functionality, which allows to store a ↵Sebastian Thiel
different path in the index than the actual one on disk ( from which the object will be created ) Fixed bug the way newlines were handled, which hopefully fixes occasional hangs as well. It works fine with git 1.7.1 Most of the changes are due to the tab-space conversion - its weird once more as I thought it was all in spaces before ... .
2010-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2010-02-19index: added move method including testSebastian Thiel
test.helpers: temporary rw repository creators now set the working dir of the program, easing working with relative paths a lot
2009-12-07index: Checkout exception now contains information about the reason of the ↵Sebastian Thiel
failure as well, one per failed file
2009-12-03repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel
safer to use in case of bare repositories
2009-11-30index: Added BlobFilter utility class to make filtering of blobs from the ↵Sebastian Thiel
index easier
2009-11-27ItemTraversal: Predicate and prune functions now provide depth information, ↵Sebastian Thiel
allowing the callee to know more about its environment
2009-11-26tree: added traversal method, adjusted testsSebastian Thiel
Fixed critical bug in object code: IndexObjects now use their path as hashkey, not the data\!
2009-11-25index.write_tree: fixed bug that would cause the written tree not to contain ↵Sebastian Thiel
any of our changes entries as it would in fact write a possibly cached tree stored in our extension data.It was solved by simply ignoring that extension data when writing the index for tree creation. A test was added for this as well
2009-11-24index.merge_tree function added including test.Sebastian Thiel
index.write_tree may now use the missing_ok argument which writes trees faster and allows you to operate without objects to do a true index based merge
2009-11-23index.checkout: improved handling of errors as the thrown exception contains ↵Sebastian Thiel
exact information about the successfully checked out files as well as the failed ones Return value of the method is an iterator to all checked out files
2009-11-23index.checkout: Now parsing stderror in the end to determine which files ↵Sebastian Thiel
have not been updated as they where modified locally or did not exist. Test was improved to check for this new case.
2009-11-22index.checkout: Added progress function and made adjustments to testSebastian Thiel
2009-11-20index.add: added progress function support and made sure progress is sent ↵Sebastian Thiel
just in time This adds a dependency to a git update index fix - and I hope it will be put in in time ( including windows version )
2009-11-18index: Added IndexEntry.from_base method including test in conjunction with ↵Sebastian Thiel
symlinks. Added index.get_entries_key method to allow direct access to anyone willing to do so
2009-11-06Index tests adopted to windows - especially the symlink test needed ↵Sebastian Thiel
adjustment, but it works as expected even on systems that do not support symlinks
2009-11-05ARGH: wb and rb is not the same as r and w on windows, hence reading of ↵Sebastian Thiel
binary files went crazy as well as binary writing
2009-11-03object: renamed id attribute to sha as it in fact is always being rewritten ↵Sebastian Thiel
as sha, even if the passed in id was a ref. This is done to assure objects are uniquely identified and will compare correctly
2009-10-27put _make_file helper method into TestBase classSebastian Thiel
remote: prepared FetchInfo class to be returned by fetch and pull. About to implement tests
2009-10-26index.add: Finished implemenation including through testsSebastian Thiel
index.checkout: added simple method allowing to checkout files from the index, including simple test
2009-10-26added head kwarg to reset and commit method, allowing to automatically ↵Sebastian Thiel
change the head to the given commit, which makes the methods more versatile
2009-10-24index.commit: implemented initial version, but in fact some more changes are ↵Sebastian Thiel
required to have a nice API. Tests are not yet fully done either
2009-10-23index.remove implemented including throrough testSebastian Thiel
2009-10-23Implemented index.reset method including testSebastian Thiel
2009-10-23Added frame for IndexFile add/remove/commit methods and respective test markersSebastian Thiel
2009-10-23Renamed Index to IndexFile, adjusted tests, it will only operate on physical ↵Sebastian Thiel
files, not on streams, as Indices are not streamed by any git command ( at least not in raw format )
2009-10-22Adjusted tests to deal with API changesSebastian Thiel
2009-10-22Index: Is now diffable and appears to properly implement diffing against ↵Sebastian Thiel
other items as well as the working tree Diff.Diffable: added callback allowing superclasses to preprocess diff arguments Diff.Diff: added eq, ne and hash methods, string methods would be nice
2009-10-22default index writing now writes the index of the current repository in a ↵Sebastian Thiel
fashion comparable to the native implementation
2009-10-22Index now behaves more like the default index if no explicit stream is ↵Sebastian Thiel
given. It will lazily read its data on first access
2009-10-22Adjusted all remaining test suites to use the new TestBase class where ↵Sebastian Thiel
appropriate
2009-10-22Removed index test marker for custom commits as this boils down to a good ↵Sebastian Thiel
way to add files to the index/remove them and make commits which are possibly customized with custom parents