summaryrefslogtreecommitdiff
path: root/lib/git/utils.py
Commit message (Collapse)AuthorAgeFilesLines
* Renamed modules utils to util, and errors to exc to be more conforming to ↵Sebastian Thiel2010-06-291-340/+0
| | | | the submodules's naming conventions
* Updated and fixed sphinx API docs, which included one quick skim-throughSebastian Thiel2010-06-291-3/+6
|
* All tests adjusted to work with the changed internal sha representationSebastian Thiel2010-06-281-1/+5
|
* Adjusted all files to (hopefully) deal with the fact that all objects now ↵Sebastian Thiel2010-06-251-63/+26
| | | | | | | use 20 byte sha's internally as it is closer to the GitDB implementation Switched all remaining files back to tabs Adjusted all remaining docstrings to suit the sphinx doc convention - its likely that there are many of docstring syntax errors though
* Multiple partly critical bugfixes related to index handlingSebastian Thiel2010-06-241-1/+0
|
* index.write_tree: initial version implemented, although its not yet working ↵Sebastian Thiel2010-06-221-6/+8
| | | | | | | correctly, a test to explicitly compare the git version with the python implementation is still missing Tree and Index internally use 20 byte shas, converting them only as needed to reduce memory footprint and processing time objects: started own 'fun' module containing the most important tree functions, more are likely to be added soon
* GitCmd implementation of gitdb base moved to git-python where it belongs. ↵Sebastian Thiel2010-06-181-1/+15
| | | | Previously it was located in gitdb, which doesn't have any facilities to use the git command
* Move LazyMixin type to gitdb, index reading now uses file_contents_ro from ↵Sebastian Thiel2010-06-151-31/+3
| | | | gitdb as well
* Moved LockedFD and its test into the gitdb projectSebastian Thiel2010-06-151-141/+3
|
* Reimplemented Lock handling to be conforming to the git lock protocol, which ↵Sebastian Thiel2010-06-151-63/+122
| | | | | | is actually more efficient than the previous implementation Index now locks its file for reading, and properly uses LockedFD when writing
* Moved small types that had their own module into the utils moduleSebastian Thiel2010-06-141-355/+411
|
* 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.