| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
backslashes depending on the operating system
fixed test_refs and test_trees
Many more issues remain though, this is just a first backup commit
|
|
|
|
|
|
| |
object
repo.tree: improved to be less restricting
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
as sha, even if the passed in id was a ref. This is done to assure objects are uniquely identified and will compare correctly
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* index:
index.add: Finished implemenation including through tests
When parsing trees, we now store the originan type bits as well, previously we dropped it
cmd.wait: AutoKill wrapped process will automatically raise on errors to unify error handling amongst clients using the process directly. It might be needed to add a flag allowing to easily override that
added head kwarg to reset and commit method, allowing to automatically change the head to the given commit, which makes the methods more versatile
refs.SymoblicRef: implemented direcft setting of the symbolic references commit, which possibly dereferences to the respective head
index.commit: implemented initial version, but in fact some more changes are required to have a nice API. Tests are not yet fully done either
actor: added __eq__, __ne__ and __hash__ methods including simple test
index.remove implemented including throrough test
Implemented index.reset method including test
IndexEntry is now based on a 'minimal' version that is suitable to be fed into UpdateIndex. The Inode and device information is only needed to quickly compare the index against the working tree for changes, hence it should not be that dominant in the API either. More changes to come
Added notes about git-update-ref
Refs can now set the reference they are pointing to in a controlled fashion by writing their ref file directly
Added TagRefernce creation and deletion including tests
Implemented head methods: create, delete, rename, including tests
refs: added create, delete and rename methods where appropriate. Tests are marked, implementation is needed for most of them
Added frame for IndexFile add/remove/commit methods and respective test markers
Added repo.index property including simple test, and additional ideas in the TODO list
Renamed Index to IndexFile, adjusted tests, it will only operate on physical files, not on streams, as Indices are not streamed by any git command ( at least not in raw format )
|
| |
| |
| |
| | |
we dropped it
|
| |
| |
| |
| | |
commit: Fixed long-standing issue during message parsing that would fail to parse properly in case we were created from data. Also it would strip white space from the messages although it shouldn't
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
other items as well as the working tree
Diff.Diffable: added callback allowing superclasses to preprocess diff arguments
Diff.Diff: added eq, ne and hash methods, string methods would be nice
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* index:
Removed index test marker for custom commits as this boils down to a good way to add files to the index/remove them and make commits which are possibly customized with custom parents
index writing now creates a sha on the content making it possible to write valid indices after manually removing or altering entriesgst
Implemented merge/resolve handling , but realized that index writing is not yet working properly as it is sha1 checked as well. This explains what my 20 byte 'extension_data' actually is ;)
index: Added write_tree method including test
index.iter_blobs method added including tests ( which have been improved generally for more coverage )
tree.traverse: Added prune functionality - previously the predciate did both, pruning and preventing to return items
Improved testing of index against trees, tests succeed with next commit
Initial version of merge including tests for one-way, two-way and tree-way merge
index writing added including simple test, improved docs of IndexEntry
improved IndexEntry type and added test for parsing of the stage
Improved tuple access of EntryIndex class including test, stage and type access still needs to be decoded though
Added initial version of the index reading from file - IndexEntry interface is to be improved though, writing needs to be implemented as well
Added frame for index implementation and testing
|
| |
| |
| |
| | |
both, pruning and preventing to return items
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
low memory footprint.
Still, the git-cat-file command keeps all data in an interal buffer instead of streaming it directly.
This is a git design issue though, and will be hard to address without some proper git-hacking.
Conflicts:
lib/git/cmd.py
|
|/
|
|
| |
directly.Considering the implementation of the git commnd which temporarily keeps it in a cache, it doesnt make a huge diffence as the data is kept in memory while streaming. Only good thing is that it is in a different process so python will never see it if done properly
|
|
|
|
| |
simple tests
|
|
|
|
|
| |
repo: added head , tag and iter_trees methods for completeness
changes: headlines now sorted chronologically
|
| |
|
|
|
|
| |
diff module, which probably is the right thing to do anyway
|
|
|
|
| |
create objects, whose import would create a dependency cycle
|
|
|
|
| |
is missing - these tests have to be redone in test-diff module accordingly
|
|
|
|
| |
Diff class has been prepared to process raw input, but its not yet more than a frame
|
|
|
|
|
|
| |
this was assumed - now there is a test for it as well
repo: removed diff and commit_diff methods, added 'head' property returning the current head as Reference object
|
| |
|
|
|
|
| |
create an object directly - this feature is used in several places now, allowing for additional type-checking
|
|
|
|
|
| |
Renamed Commit.commits to iter_commits
repo: assured proper use of the terms revision ( rev ) and reference ( ref )
|
|
|
|
| |
obsolete once the interface overhaul is finished. This commit is just intermediate
|
|
|
|
|
|
| |
memory
time imports cleaned up and mostly removed as they were not required (anymore)
|
|
|
|
| |
safe possibly hundreds of command calls
|
|
|
|
| |
possible input ref - the objects pointed to by refs are now baked on demand - perhaps it should change to always be re-retrieved using a property as it is relatively fast - this way refs can always be cached
|
|
|
|
|
|
| |
cannot handle the complexity of the command backend
All objects but Tree now use the persistent command to read their object information - Trees get binary data and would need their own pretty-printing or they need to parse the data themselves which is my favorite
|
|
|
|
|
|
|
| |
currently it cause hundreds of command invocations which is slow
Fixed issue with trees not properly initialized with their default mode
_set_cache_: some objects checked whether the attribute was within their __slots__ although it should have been accessed through its class
|
|
|
|
|
|
|
| |
output directly from the output stream
commit: now reads commit information directly from the output stream of the process by implementing its iterator method
repo: removed log method as it was redundant ( equal to the commits method )
|
| |
|
|
|
|
| |
preparation for command changes
|
|
|
|
| |
different packages
|
|
|
|
| |
Removed tests that were testing that method
|
|
|
|
|
|
| |
dict as cache is a problem as the tree is ordered, added blobs, trees and traverse method
repo: remove blob function as blobs are created directly or iterated - primitve types should not clutter the repo interface
|
|
|
|
| |
case someone tries to access an unset path or mode - this information cannot be retrieved afterwards as IndexObject information is kept in the object that pointed at them. To find this information, one would have to search all objects which is not feasible
|
|
|
|
|
|
| |
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
|
|
|
|
| |
_list_from_string to indicate their new status as private method, adjusted all callers respectively
|
|
|