summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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 )
* Fixed config module which forgot to call the superclass's initializer, ↵Sebastian Thiel2009-11-051-0/+1
| | | | finally causing failure in python 2.6
* fixed test_repo to work on windowsSebastian Thiel2009-11-051-1/+1
| | | | cmd: taskkill now pipes stderror to nul as well
* cmd: added clear_cache method now used by test repo decorators to be sure ↵Sebastian Thiel2009-11-051-1/+14
| | | | persistent commands are killed before trying to remove the directory. Unfortunately, it still claims someone has opened the file. handle.exe does not show anyone, so what is happening here ? Is it just a windows odity ? If nothing helps I could just keep the temp data, but lets do some more testing first
* git cmd on windows now runs without the shell, see diff for explanationSebastian Thiel2009-11-051-2/+7
|
* Fixed windows TASKKILL so it actually does something *silently*Sebastian Thiel2009-11-051-1/+4
|
* Added utilities helping to create proper paths either with slashes or ↵Sebastian Thiel2009-11-055-49/+85
| | | | | | | backslashes depending on the operating system fixed test_refs and test_trees Many more issues remain though, this is just a first backup commit
* improved error when setting up server based test to make clear a server ↵Sebastian Thiel2009-11-041-1/+4
| | | | needs to be started
* head.checkout method added including testSebastian Thiel2009-11-041-1/+33
|
* Merge branch 'docs' into improvementsSebastian Thiel2009-11-043-17/+18
|\ | | | | | | | | | | | | | | | | | | | | * docs: Converted tabs to spaces. added paragraph about the diffing engine and how to switch branches, which once more shows the need for a real checkout for all the people who do not want to implement all the safety facilities themselves Added Index Object paragraph and wrote the Remote Handling paragraph. Updated repo area added paragraph about using the git-python command Worked on the tree object handling and realized an issue with attribute naming on index objects and the way the system handles these initial work on tutorial.rst added all new files to reference.rst and corrected the worst mistakes. There 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.
| * added all new files to reference.rst and corrected the worst mistakes. There ↵Sebastian Thiel2009-11-043-17/+18
| | | | | | | | 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.
* | added query for 'M' modified diffs to DiffIndex including test. The latter ↵Sebastian Thiel2009-11-041-3/+13
|/ | | | one was made faster by reducing the amount of permutations to the minimal value
* Improved cmd error handling in case an invalid revision is specified for an ↵Sebastian Thiel2009-11-043-29/+17
| | | | | | object repo.tree: improved to be less restricting
* IndexObject: assured that .path fields are relative to the repository ( ↵Sebastian Thiel2009-11-042-5/+22
| | | | | | previously it would just be a name ) added abspath property and name property to provide easy access to most common paths of an index object
* tree: parsing would fail when symlinks where encountered. This has been fixedSebastian Thiel2009-11-041-1/+2
|
* refs: iter_items now imlemented natively for additional performance. We did ↵Sebastian Thiel2009-11-032-50/+45
| | | | not implement the crazy sorting feature found in git-for-each-ref though
* remotes are now retrieved directly by parsing the repository configuration ↵Sebastian Thiel2009-11-031-4/+10
| | | | file. This removes a git command invocation
* Reference.from_path now only creates references, not symbolic refs. ↵Sebastian Thiel2009-11-031-7/+21
| | | | SymbolicReference.from_path creates only symbolic refs. This change was not detected by a test, hence there is room for improvement on the testing field
* Now using git-update-ref and git-symbolic-ref to update references with ↵Sebastian Thiel2009-11-031-21/+17
| | | | reflog support. This should be manually implemented though for more performance, what it does is relatively easy
* remote.push: Fixed progress parsing, previously it would read whole lines ↵Sebastian Thiel2009-11-031-3/+15
| | | | only which is equivalent to waiting for an operation to finish completely. Now we parse the stream manually, allowing to retrieve progress information as soon as it happens
* object: renamed id attribute to sha as it in fact is always being rewritten ↵Sebastian Thiel2009-11-039-46/+46
| | | | as sha, even if the passed in id was a ref. This is done to assure objects are uniquely identified and will compare correctly
* repo: added create_* and delete_* methods for refs ( head, tag, remote ) as ↵Sebastian Thiel2009-11-032-2/+57
| | | | a convenient shortcut to using the classes manually
* repo.is_dirty: is a method now - the property based interface didn't allow ↵Sebastian Thiel2009-11-031-1/+0
| | | | all parameters to be used. The test would not test everything either, and I would consider this a bug that slipped through
* Finished all push tests I could think of so far. More error cases should be ↵Sebastian Thiel2009-11-031-1/+4
| | | | studied, but they would be hard to 'produce'
* Intermediate commit with a few added and improved tests as well as many fixesSebastian Thiel2009-11-032-8/+39
|
* Implemented PushProgress and PushInfo class including basic test cases. Now ↵Sebastian Thiel2009-11-021-17/+134
| | | | many more test-cases need to be added to be sure we can truly deal with everything git throws at us
* Added frame for push testing and push implemenationSebastian Thiel2009-10-281-13/+104
|
* Another attempt to make fetch emit progress information, but in fact its ↵Sebastian Thiel2009-10-281-1/+1
| | | | 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
* Added repo.refs for completeness (as remote.refs is there as well and quite ↵Sebastian Thiel2009-10-281-0/+10
| | | | nice to use)