aboutsummaryrefslogtreecommitdiff
path: root/lib/git/utils.py
AgeCommit message (Collapse)Author
2010-06-15Reimplemented Lock handling to be conforming to the git lock protocol, which ↵Sebastian Thiel
is actually more efficient than the previous implementation Index now locks its file for reading, and properly uses LockedFD when writing
2010-06-14Moved small types that had their own module into the utils moduleSebastian Thiel
2010-06-12Removed odb from project, it is now used as a submodule named gitdb, which ↵Sebastian Thiel
was added instead Adjusted all imports to deal with the changed package names
2010-06-03commit.create_from_tree now uses pure python implementation, fixed message ↵Sebastian Thiel
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
2010-06-02initial version of loose object writing and simple cached object lookup ↵Sebastian Thiel
appears to be working
2010-05-26BlockingLockFile: added sanity check that raises IOError if the directory ↵Sebastian Thiel
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
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-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2010-02-18LockFile: release_lock now checks whether the lockfile to be removed still ↵Sebastian Thiel
exists. Previously it would just fail
2010-02-14Lockfile now uses low-level commands to interact with the filesystem in ↵Sebastian Thiel
order to make it impossible for threads to overwrite each other if we are talking about miliseconds. This renders plenty of 'special' handling redundant
2009-12-17LockFile: id representing the instance that keeps the lock is unique now - ↵Sebastian Thiel
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
2009-12-17config: GitConfigReader now allows to override its lock-type. By default it ↵Sebastian Thiel
uses a 'failing' lock file, but now its possible to easily put a blocking lock file in its place
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-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-07Reference: reading of commit data is now safer and handles non-existing ↵Sebastian Thiel
paths - previously it would run into a code-branch I forgot
2009-12-04SymbolicRefence base is now fully aware of pack files in all operations.Sebastian Thiel
Ref(anytype) Iteration was improved such that automatic filtering now also works for SymbolicReferences ( which only return symbolic refs)
2009-12-03refs: Implemented low-level (Symbolic)Reference renaming as some references ↵Sebastian Thiel
cannot be reamed using the git-branch command if they are not in refs/heads, that is in a non-standard refs folder
2009-12-03repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel
safer to use in case of bare repositories
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-10-28IterableList: added support for prefix allowing remote.refs.master ↵Sebastian Thiel
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
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-22Added test for ConcurrentWriteOperationSebastian Thiel
2009-10-22utils: Added LockFile including testSebastian Thiel
GitConfigFile is now derived from LockFile using its capabilities Implemented ConcurrentWriteOperation, test is yet to be done
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
2009-10-20Moved specialized methods like dashify, touch and is_git_dir to module to ↵Sebastian Thiel
the respective modules that use them fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
2009-10-19Implemneted IterableLists for refs, commits and remote objects including ↵Sebastian Thiel
simple tests
2009-10-13renamed find_all to list_all, changed commit to use iterable interface in ↵Sebastian Thiel
preparation for command changes
2009-10-13Added base for all iteratable objectsSebastian Thiel
2009-10-12refs now take repo as first argument and derive from LazyMixin to allow them ↵Sebastian Thiel
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
2009-10-11converted all spaces to tabs ( 4 spaces = 1 tab ) just to allow me and my ↵Sebastian Thiel
editor to work with the files properly. Can convert it back for releaes
2009-01-24Lots of spring cleaning and added in Sphinx documentation.Michael Trier
2008-07-16Added license information to all files.Michael Trier
2008-06-25fixed ↵Florian Apolloner
http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db?hl=en# and passed Git a working_tree again (sort of).
2008-05-30renamed git_python to git. Removed pop_key and replaced with dict.pop. Fixed ↵Michael Trier
up tests so they pass except for stderr test. Modified version information retrieval.