summaryrefslogtreecommitdiff
path: root/lib/git
Commit message (Collapse)AuthorAgeFilesLines
* index: IndexLock added to provide some kind of critical section for index ↵Sebastian Thiel2009-12-101-1/+33
| | | | based git operations in concurrent environments
* index: TempFileMover now handles the case that the file to move does not ↵Sebastian Thiel2009-12-102-4/+51
| | | | | | exist more gracefully Added BlockingLockFile which may be used to wait for the lock according to some criteria
* config: fixed incorrect handling of default value in get_valueSebastian Thiel2009-12-092-4/+6
| | | | remote.config: SectionConstraint now knows about set_value and get_value which are new to the GitConfigParser
* repo: Added alias for refs property, which is called 'references' , to ↵Sebastian Thiel2009-12-091-2/+5
| | | | improve usability. There was no reason that only 'refs' is shortened, whereas there are 'heads' and 'tags' as well
* config.set_value: added more convenient set_value method to ConfigReaderSebastian Thiel2009-12-081-0/+20
|
* config.get_value: Added default argument including testSebastian Thiel2009-12-081-2/+10
|
* index: Checkout exception now contains information about the reason of the ↵Sebastian Thiel2009-12-071-2/+10
| | | | failure as well, one per failed file
* Reference: reading of commit data is now safer and handles non-existing ↵Sebastian Thiel2009-12-072-3/+5
| | | | paths - previously it would run into a code-branch I forgot
* SymbolicRefence base is now fully aware of pack files in all operations.Sebastian Thiel2009-12-042-97/+171
| | | | Ref(anytype) Iteration was improved such that automatic filtering now also works for SymbolicReferences ( which only return symbolic refs)
* refs: Fixed incorrect retrieval of symbolic reference types - previously we ↵Sebastian Thiel2009-12-041-3/+3
| | | | only really knew heads, now we know references as a common base. The adjustment make the ref system as flexible as it was originally meant to be
* SymbolicReference creation now won't fail if the target already exists and ↵Sebastian Thiel2009-12-041-7/+18
| | | | has the same content as the new reference
* refs.rename: improved handling as it will only raise ( if not forced ) if ↵Sebastian Thiel2009-12-031-2/+7
| | | | the destination contains different data. If it contains the same, the move will work as we can do what the user intended
* refs: Implemented low-level (Symbolic)Reference renaming as some references ↵Sebastian Thiel2009-12-032-15/+46
| | | | cannot be reamed using the git-branch command if they are not in refs/heads, that is in a non-standard refs folder
* config: implemented get_value method to have a safe way to make general ↵Sebastian Thiel2009-12-031-0/+33
| | | | queries to the git configuration, returning a value in the proper type. In a way its not supposed to be used as you should know the type of your configuration option or get an exception otherwise
* repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel2009-12-037-43/+86
| | | | safer to use in case of bare repositories
* repo: fixed incorrect path handling thta could lead to issues if the ↵Sebastian Thiel2009-12-032-5/+12
| | | | repository was initialized with a .git repository, although it was not bare actually
* commit.create_from_tree: head will not be advanced anymore as it feels ↵Sebastian Thiel2009-12-011-1/+1
| | | | non-natural when using it
* index: Added BlobFilter utility class to make filtering of blobs from the ↵Sebastian Thiel2009-11-301-2/+27
| | | | index easier
* SymbolicReference.delete: Now takes SymbolicReference instances as well, not ↵Sebastian Thiel2009-11-302-1/+4
| | | | | | only paths diff.__str__: fixed incorrect message generation error
* Generalized custom reference creation down to SymbolicReference level. ↵Sebastian Thiel2009-11-301-35/+76
| | | | 'Reference' implementation now shares all the code from the SymbolicReference base. This implementation allows to create any reference you'd like without requireing git calls
* ref: Added general method to create and delete any reference pointing to any ↵Sebastian Thiel2009-11-301-2/+69
| | | | object. They are only constrained to be located in the refs/ directory
* Traversable.traverse: Added as_edge option allowing to receive the source of ↵Sebastian Thiel2009-11-271-11/+19
| | | | the item as well to enable predicates to do more proper checking
* Fixed issue with commit traversal due to missing visit_once in the traversal ↵Sebastian Thiel2009-11-272-0/+19
| | | | method, improved code performance by disabling the visit-once flag by default for trees, which by nature are not recursive
* ItemTraversal: Predicate and prune functions now provide depth information, ↵Sebastian Thiel2009-11-271-6/+6
| | | | allowing the callee to know more about its environment
* improved performance of item traversal, its nearly as fast as it was with ↵Sebastian Thiel2009-11-271-11/+2
| | | | the first very pure implementation
* tree: added traversal method, adjusted testsSebastian Thiel2009-11-263-41/+19
| | | | Fixed critical bug in object code: IndexObjects now use their path as hashkey, not the data\!
* objects.utils: Added Traversable base and implemented it for commits ↵Sebastian Thiel2009-11-263-1/+91
| | | | including a test
* SymbolicReference is now the base for all references, allowing them to ↵Sebastian Thiel2009-11-261-24/+53
| | | | | | appear litereally anywhere. A 'default' reference is nothing more than a detached symbolic reference. Added method iterate the packed refs file
* Initially put SymbolicRef as base class of Reference, which theoretically is ↵Sebastian Thiel2009-11-261-185/+161
| | | | how it should be, but many tests are still failing as the implementation is not yet there
* SymbolicReferences can now be at any path within the repository, there is no ↵Sebastian Thiel2009-11-263-24/+21
| | | | | | restriction anymore. Added a test to assure the git commands can handle it
* diff: added __str__ method to diff classSebastian Thiel2009-11-252-4/+45
| | | | IndexObject._mode_str_to_int: Now uses the 6 relevant bytes of the passed in octal string
* index.write_tree: fixed bug that would cause the written tree not to contain ↵Sebastian Thiel2009-11-252-1/+20
| | | | 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
* PushInfo: added summary field to help providing user readable informationSebastian Thiel2009-11-242-4/+7
| | | | Index.checkout: fixed bug in exception creator function
* commit: added create_from_tree method to untie commit creation from actually ↵Sebastian Thiel2009-11-242-49/+69
| | | | using the current index. This makes it more flexible. For convenience, the index.commit method is still available, it delgates all the work
* index.merge_tree function added including test.Sebastian Thiel2009-11-241-5/+50
| | | | 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
* diff: fixed issue in diff implementation which would just drop null-shas ↵Sebastian Thiel2009-11-232-6/+16
| | | | 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
* remote.fetch: fetchInfo would not provide old_commit information in case of ↵Sebastian Thiel2009-11-231-5/+8
| | | | fast_forwards although. Renamed cumbersome 'commit_before_forced_updated' attribute to 'old_commit' to be en par with PushInfo
* index.checkout: improved handling of errors as the thrown exception contains ↵Sebastian Thiel2009-11-231-20/+61
| | | | | | 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
* index.checkout: improved parsing of stderr to properly handle more unusual ↵Sebastian Thiel2009-11-231-2/+9
| | | | messages - previously it would be more narrow and raise a GitCommandError in cases where it wasnt actually needed
* index.checkout: Now parsing stderror in the end to determine which files ↵Sebastian Thiel2009-11-231-14/+69
| | | | have not been updated as they where modified locally or did not exist. Test was improved to check for this new case.
* index.checkout: Added progress function and made adjustments to testSebastian Thiel2009-11-221-73/+74
|
* index: Path expansion routine is now iterator which assures more timely ↵Sebastian Thiel2009-11-211-16/+12
| | | | processing - delays could have been possible previously as it would expand (possibly) large amounts of paths in advance
* index.add: adjusted code to deal with update-index stdout 'bug' - now the ↵Sebastian Thiel2009-11-211-10/+14
| | | | code does not rely on my own git patch anymore as it is unsure whether it will make it in there or when
* index.add: added progress function support and made sure progress is sent ↵Sebastian Thiel2009-11-201-21/+121
| | | | | | 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 )
* index: Added IndexEntry.from_base method including test in conjunction with ↵Sebastian Thiel2009-11-181-2/+28
| | | | | | symlinks. Added index.get_entries_key method to allow direct access to anyone willing to do so
* repo: may now be initialized from a path with envrionment variables. ↵Sebastian Thiel2009-11-101-2/+4
| | | | Previously it would consider such a path a relative one and handle it incorrectly
* Actor: fixed incorrect parsing of names from lines in case there was no ↵unknown2009-11-061-4/+11
| | | | email address specified
* Fixed commit.count method which now handles the paths case properly. It ↵Sebastian Thiel2009-11-061-1/+7
| | | | appears git-rev-list uses empty paths in some way, which is quite hard to specify on a shell, but easy if the process is spawned directly
* ARGH: wb and rb is not the same as r and w on windows, hence reading of ↵Sebastian Thiel2009-11-052-9/+15
| | | | binary files went crazy as well as binary writing
* repo.clone: Added plenty of special handling to allow drive letters to work ↵Sebastian Thiel2009-11-051-1/+32
| | | | | | 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 )