summaryrefslogtreecommitdiff
path: root/lib/git/utils.py
Commit message (Collapse)AuthorAgeFilesLines
* Removed odb from project, it is now used as a submodule named gitdb, which ↵Sebastian Thiel2010-06-121-31/+4
| | | | | | was added instead Adjusted all imports to deal with the changed package names
* commit.create_from_tree now uses pure python implementation, fixed message ↵Sebastian Thiel2010-06-031-0/+15
| | | | | | parsing which truncated newlines although it was ilegitimate. Its up to the reader to truncate therse, nowhere in the git code I could find anyone adding newlines to commits where it is written Added performance tests for serialization, it does about 5k commits per second if writing to tmpfs
* initial version of loose object writing and simple cached object lookup ↵Sebastian Thiel2010-06-021-2/+4
| | | | appears to be working
* BlockingLockFile: added sanity check that raises IOError if the directory ↵Sebastian Thiel2010-05-261-4/+15
| | | | containing the lock was removed. This is unlikely to happen in a production envrironment, but may happen during testing, as folders are moved/deleted once the test is complete. Daemons might still be waiting for something, and they should be allowed to terminate instead of waiting for a possibly long time
* repo: added test with some basic assertions for empty repositories theseSebastian Thiel2010-05-101-1/+1
| | | | | | | | 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
* Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel2010-03-041-358/+358
|
* LockFile: release_lock now checks whether the lockfile to be removed still ↵Sebastian Thiel2010-02-181-1/+6
| | | | exists. Previously it would just fail
* Lockfile now uses low-level commands to interact with the filesystem in ↵Sebastian Thiel2010-02-141-30/+5
| | | | order to make it impossible for threads to overwrite each other if we are talking about miliseconds. This renders plenty of 'special' handling redundant
* LockFile: id representing the instance that keeps the lock is unique now - ↵Sebastian Thiel2009-12-171-11/+25
| | | | locks will check whether the lock they wrote truly is theirs - in case threads are racing, this might not be the case. Now this issue will be detected and results in a proper failure
* config: GitConfigReader now allows to override its lock-type. By default it ↵Sebastian Thiel2009-12-171-1/+8
| | | | uses a 'failing' lock file, but now its possible to easily put a blocking lock file in its place
* index: improved the way stdout is handled as the previous handling rarely ↵Sebastian Thiel2009-12-151-1/+1
| | | | | | 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.
* index: TempFileMover now handles the case that the file to move does not ↵Sebastian Thiel2009-12-101-0/+40
| | | | | | exist more gracefully Added BlockingLockFile which may be used to wait for the lock according to some criteria
* Reference: reading of commit data is now safer and handles non-existing ↵Sebastian Thiel2009-12-071-1/+1
| | | | 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-041-1/+0
| | | | Ref(anytype) Iteration was improved such that automatic filtering now also works for SymbolicReferences ( which only return symbolic refs)
* refs: Implemented low-level (Symbolic)Reference renaming as some references ↵Sebastian Thiel2009-12-031-14/+0
| | | | cannot be reamed using the git-branch command if they are not in refs/heads, that is in a non-standard refs folder
* repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel2009-12-031-0/+15
| | | | safer to use in case of bare repositories
* ARGH: wb and rb is not the same as r and w on windows, hence reading of ↵Sebastian Thiel2009-11-051-3/+3
| | | | binary files went crazy as well as binary writing
* Added utilities helping to create proper paths either with slashes or ↵Sebastian Thiel2009-11-051-36/+69
| | | | | | | backslashes depending on the operating system fixed test_refs and test_trees Many more issues remain though, this is just a first backup commit
* IterableList: added support for prefix allowing remote.refs.master ↵Sebastian Thiel2009-10-281-4/+13
| | | | | | constructs, previously it was remote.refs['%s/master'%remote] Added first simple test for push support, which shows that much more work is needed on that side to allow just-in-time progress information
* default index writing now writes the index of the current repository in a ↵Sebastian Thiel2009-10-221-1/+3
| | | | fashion comparable to the native implementation
* Added test for ConcurrentWriteOperationSebastian Thiel2009-10-221-1/+4
|
* utils: Added LockFile including testSebastian Thiel2009-10-221-0/+159
| | | | | GitConfigFile is now derived from LockFile using its capabilities Implemented ConcurrentWriteOperation, test is yet to be done
* index writing now creates a sha on the content making it possible to write ↵Sebastian Thiel2009-10-221-0/+52
| | | | valid indices after manually removing or altering entriesgst
* Moved specialized methods like dashify, touch and is_git_dir to module to ↵Sebastian Thiel2009-10-201-20/+0
| | | | | | the respective modules that use them fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
* Implemneted IterableLists for refs, commits and remote objects including ↵Sebastian Thiel2009-10-191-1/+38
| | | | simple tests
* renamed find_all to list_all, changed commit to use iterable interface in ↵Sebastian Thiel2009-10-131-2/+2
| | | | preparation for command changes
* Added base for all iteratable objectsSebastian Thiel2009-10-131-0/+38
|
* refs now take repo as first argument and derive from LazyMixin to allow them ↵Sebastian Thiel2009-10-121-0/+25
| | | | | | to dynamically retrieve their objects Improved way commits are returned by refs as they now use the path to be sure they always point to the ref even if it changes - previously it would use the sha intead so it would not update after being cached on the ref object
* converted all spaces to tabs ( 4 spaces = 1 tab ) just to allow me and my ↵Sebastian Thiel2009-10-111-12/+12
| | | | editor to work with the files properly. Can convert it back for releaes
* Lots of spring cleaning and added in Sphinx documentation.Michael Trier2009-01-241-1/+1
|
* Added license information to all files.Michael Trier2008-07-161-0/+6
|
* fixed ↵Florian Apolloner2008-06-251-1/+16
| | | | http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db?hl=en# and passed Git a working_tree again (sort of).
* renamed git_python to git. Removed pop_key and replaced with dict.pop. Fixed ↵Michael Trier2008-05-301-0/+5
up tests so they pass except for stderr test. Modified version information retrieval.