aboutsummaryrefslogtreecommitdiff
path: root/lib/git/index.py
AgeCommit message (Collapse)Author
2010-06-02initial version of loose object writing and simple cached object lookup ↵Sebastian Thiel
appears to be working
2010-05-26index: index-add fixed to always append a newline after each item. In git ↵Sebastian Thiel
has unified its way it reads from stdin, now it wants all items to be terminated by a newline usually. Previously, it could have been that it really didn't want to have a termination character when the last item was written to the file. Bumped the minimum requirements to 1.7.0 to be sure it is working as I think it will. Still, I have to admit that sometime it just appears the closed pipe will not stop git from waiting for more input, at least with the previous implementation
2010-05-11IndexFile.add: Fixed incorrect path handling if path rewriting was desired ↵Sebastian Thiel
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
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-05-10repo: added test with some basic assertions for empty repositories theseSebastian Thiel
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
2010-05-04Index: handling an AttributeError exception raised in python 2.6.5 and newer ↵Sebastian Thiel
if an unset slot is being deleted.
2010-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2010-02-24IndexFile.write: Added special handling flag allowing to skip TREE extension ↵Sebastian Thiel
data, which becomes important if git-write-tree is supposed to be used
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
2010-02-18git.commit: Added test to assure we handle the first commit correctly ↵Sebastian Thiel
regarding its parents
2010-02-13IndexFile: unmerged_blobs lists are now sortedSebastian Thiel
Repo.init: fixed incorrect use of the path which was to optionally specify where to initialize the repository. Update test as well
2009-12-16Added imports for standard locking file classes into the git moduleSebastian Thiel
2009-12-15index: improved the way stdout is handled as the previous handling rarely ↵Sebastian Thiel
caused lockups while waiting for stdout NOTE: This does not have the desired effect, the issue appears to be somewhere within git, possibly, as git simply does not terminate waiting for something, even if stdout is closed.
2009-12-10removed nonsense IndexLock implementationSebastian Thiel
2009-12-10index: IndexLock added to provide some kind of critical section for index ↵Sebastian Thiel
based git operations in concurrent environments
2009-12-10index: TempFileMover now handles the case that the file to move does not ↵Sebastian Thiel
exist more gracefully Added BlockingLockFile which may be used to wait for the lock according to some criteria
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-26SymbolicReferences can now be at any path within the repository, there is no ↵Sebastian Thiel
restriction anymore. Added a test to assure the git commands can handle it
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-24PushInfo: added summary field to help providing user readable informationSebastian Thiel
Index.checkout: fixed bug in exception creator function
2009-11-24commit: added create_from_tree method to untie commit creation from actually ↵Sebastian Thiel
using the current index. This makes it more flexible. For convenience, the index.commit method is still available, it delgates all the work
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-23diff: fixed issue in diff implementation which would just drop null-shas ↵Sebastian Thiel
that always occour when dealing with working tree diffs ( for ovious reasons ). Also the implementation would previously leave empty blobs where no file actually existed
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: improved parsing of stderr to properly handle more unusual ↵Sebastian Thiel
messages - previously it would be more narrow and raise a GitCommandError in cases where it wasnt actually needed
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-21index: Path expansion routine is now iterator which assures more timely ↵Sebastian Thiel
processing - delays could have been possible previously as it would expand (possibly) large amounts of paths in advance
2009-11-21index.add: adjusted code to deal with update-index stdout 'bug' - now the ↵Sebastian Thiel
code does not rely on my own git patch anymore as it is unsure whether it will make it in there or when
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-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-05Added utilities helping to create proper paths either with slashes or ↵Sebastian Thiel
backslashes depending on the operating system fixed test_refs and test_trees Many more issues remain though, this is just a first backup commit
2009-11-04added all new files to reference.rst and corrected the worst mistakes. There ↵Sebastian Thiel
are still a few errors left that I cannot fix as it complains about whitespace in the end ... that is exactly what I hate restructured text for, its just a ... anyway.
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-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-23IndexEntry is now based on a 'minimal' version that is suitable to be fed ↵Sebastian Thiel
into UpdateIndex. The Inode and device information is only needed to quickly compare the index against the working tree for changes, hence it should not be that dominant in the API either. More changes to come
2009-10-23Added frame for IndexFile add/remove/commit methods and respective test markersSebastian Thiel
2009-10-23Added repo.index property including simple test, and additional ideas in the ↵Sebastian Thiel
TODO list
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-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-22index writing now creates a sha on the content making it possible to write ↵Sebastian Thiel
valid indices after manually removing or altering entriesgst