| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
the item as well to enable predicates to do more proper checking
|
|
|
|
| |
method, improved code performance by disabling the visit-once flag by default for trees, which by nature are not recursive
|
| |
|
|
|
|
| |
allowing the callee to know more about its environment
|
|
|
|
| |
including a test
|
|
|
|
| |
namely 141 instead of 143. Manual checking showed that 143 is the correct number, on linux this will have to be fixed
|
|
|
|
| |
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 )
|
| |
| |
| |
| | |
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
|
|/ |
|
|
|
|
|
|
|
|
| |
types of references and allow special handling
Head.reset now is an instance method of HEAD type
Concatenated all reference specific tests into test_refs
started to fix tests breaking now because of changed interface
|
|
|
|
| |
appropriate
|
|
|
|
| |
simple tests
|
|
|
|
|
| |
repo: added head , tag and iter_trees methods for completeness
changes: headlines now sorted chronologically
|
|
|
|
| |
is missing - these tests have to be redone in test-diff module accordingly
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
achieved throughput
repo.commits: max_count is None by default
moved benchmark-like test from test_commit to test_performance
|
|
|
|
|
|
| |
persistent commands that require stdin AND binary data - not even an adapter would help here. These tests will have to be replaced.
test_commit: Improved efficiency of traversal test
|
|
|
|
|
|
| |
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
|
|
|
|
| |
_list_from_string to indicate their new status as private method, adjusted all callers respectively
|
|
|
|
| |
existance was doubtful or unsafe
|
|
|
|
| |
mode is now generally an int compatible to the stat module
|
|
|
|
|
|
| |
return the same thing which does not work anymore - re-implemented it in a more dynamic manner, but in the end tests will have to be revised anyway
Added slots to Diff and Stats type respectively
|
|
|
|
| |
whether it bakes more. This also leads to more efficient use of memory as values are only cached and set when required - the baking system does not require an own tracking variable anymore, and values are only to be cached once - then python will natively find the cache without involving any additional overhead. This works by using __getattr__ instead of __get_attribute__ which would always be called
|
|
|
|
| |
editor to work with the files properly. Can convert it back for releaes
|
|
|
|
| |
it would make existing code incompatible in some places
|
|
|
|
|
|
| |
path ( in the 'name' member variable ), the a|b_path members of Diff have been removed. Tests were adjusted and run
Diff docs have been updated to provide a little more information on specifics cases
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit 88852ed7bcde4f4b18c1ae8b6fba7f3fab8e9bf5)
|
| |
|
|
|
|
|
| |
The old diff parser in list_from_string took a large amount of time to parse long diffs, on one of my repositories it took over 3 minutes to parse the initial commit. The new parser uses a single regexp to match the header of a diff, and iterates over the each individual diff by splitting the entire string by the diff seperator, attempting to match the header for each individual diff. With the new parser parsing the same repository is almost instant, woohoo!
(cherry picked from commit 5b6b27f153bdc30380bea12a528ef483571dd57a)
|
|
|
|
|
| |
The path parameter allows you to specify a path to constrain queries by. This changes potentially breaks backwards compatibility for the Repo.commits and Repo.commits_since methods as it moves the positional arguments.
(cherry picked from commit cc8a20e78da4864060bd0c9279633009bc10d871)
|
|
|
|
|
| |
When calling commands that accept treeish and path arguments and there is a path with the same name as a treeish git cowardly refuses to pick one and asks for the command to use the unambiguous syntax where '--' seperates the treeish from the paths. Add '--' to the git commands to indicate that the argument is a treeish and not a path.
(cherry picked from commit a9a57fa93a2b121ab9b17fcd6062b9a9c9740883)
|
|
|
|
|
| |
doesn't need to do the same boring replacing I did.
(cherry picked from commit 10c62aa69193a8bc7b46ca24c2ad1d5008489665)
|
|
|
|
|
| |
The imported module is called git (as in "import git"), so it's less
confusing to do so than to call everything GitPython.something.
|
|
|
|
|
|
|
| |
This adds a testcase for Commit.list_from_string to ensure that
it can properly parse the output of git rev-list --bisect-all.
Signed-off-by: David Aguilar <davvid@gmail.com>
|
| |
|
| |
|
|
|
|
| |
didn't reveal it...
|
|
|
|
| |
up tests so they pass except for stderr test. Modified version information retrieval.
|
| |
|
| |
|
|
|