| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
This was caused by calling reverse on the list, which reverses the list in
place and returns None. We really need tests for this.
|
|
|
|
| |
(cherry picked from commit 160bd2bb74d88c110874c21635e24cc74ef58459)
|
|
|
|
| |
(cherry picked from commit 88852ed7bcde4f4b18c1ae8b6fba7f3fab8e9bf5)
|
|
|
|
|
|
|
|
|
| |
Git allows branches to be named and organized using path components, e.g using
a branch called "refactoring/feature1", which gets stored under
refs/heads/refactoring/feature1. The previous code omitted everything but the
last path component giving the name "feature1" instead of
"refactoring/feature1" for the branch. This changeset fixes that.
(cherry picked from commit dc4738bc53e580754e47037e26c7eec3047aeb69)
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Adds a summary property to the Commit object which returns just the first line of the commit message and makes the message property contain the entire commit message (previously the message property only contained the first line of the commit message). This breaks backwards compatibility a little in that the message property now contains a different value but previously there was no way to access the entire commit message from the Commit object and this is in keeping with git vocabulary, where message generally refers to the entire commit message.
(cherry picked from commit 9d2962d8306c894d4cca55bab551677b92d96352)
|
| |
| |
| |
| |
| | |
Currently the parsed headers are just ignored but I'll add them to the Diff object in a future commit
(cherry picked from commit 711b655f29b42821c51be8e592143c7db31ed140)
|
| |
| |
| |
| |
| | |
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)
|
|
|
|
| |
(cherry picked from commit 657444d75d7b2d6913c2d491841b9bd70c8bd289)
|
|
|
|
|
| |
The imported module is called git (as in "import git"), so it's less
confusing to do so than to call everything GitPython.something.
|
|\ |
|
| |
| |
| |
| | |
currently active branch.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
working directory.
A working directory is dirty if it has any uncommitted changes (in the working
directory or in the index). Bare repositories are by nature always clean.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do this:
>>> repo.description = "Foo Bar"
>>> repo.description
'Foo Bar'
|
| |
| |
| |
| |
| |
| |
| | |
Now you can do this:
>>> exported = repo.daemon_export
>>> repo.daemon_export = True
|
| |
| |
| |
| |
| | |
It is better to have an explicit list of variables for the constructors,
be it only to avoid mispelled arguments.
|
| |
| |
| |
| | |
It doesn't use an object's private contents, so let's go...
|
| |
| |
| |
| |
| | |
It is rather intuitive to consider trees as a dict of objects (like
a directory could be seen as a dict of files).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a simplification of the tree baking code.
As a matter of consequency, Tree.construct() and
tree.construct_initialize() have been killed, and repo.tree() has lost
the "paths" argument. This is not a problem since one can just have the
same result with:
dict(k, o for k, o in tree.items() if k in paths)
|
| |
| |
| |
| |
| |
| |
| | |
It seems more natural to use a dictionnary for directories, since we
usually want to access them by name, and entry order is not relevant.
Also, finding a particular blob given its name is O(1) instead of O(N).
|
|\ \
| |/ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Rui Abreu Ferrerira pointed out that "git rev-list --bisect-all"
returns a slightly different format which we can easily accomodate
by changing the way we parse rev-list output.
http://groups.google.com/group/git-python/browse_thread/thread/aed1d5c4b31d5027
This resolves the issue mentioned in that thread.
Signed-off-by: David Aguilar <davvid@gmail.com>
|
|\ |
|
| | |
|
|/ |
|
|
|
|
| |
One bug remaining: git on windows is returning status 0 for `git this-does-not-exist`, so no GitCommandError is raised.
|
|
|
|
| |
(cherry picked from commit 80f8a18a69e307f6ea0bfeb14791fc75e239faa2)
|
|
|
|
| |
(cherry picked from commit 1f9e1bacb65fe503ad23efba7f99ca6346fa648c)
|
|
|
|
| |
(cherry picked from commit ccca12ee26e40fb4c4df2d77154ed496144569b9)
|
| |
|
| |
|
| |
|
|
|
|
| |
http://groups.google.com/group/git-python/browse_thread/thread/62b972d2345c74c2?hl=en# and added lines to the per file stats
|
|
|
|
| |
http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db?hl=en# and passed Git a working_tree again (sort of).
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
removed the combined output of stderr and stdout.
Also renamed with_status to extended_output.
The method_missing function needs to be modified, as it does a kwargs.pop(xxx, None); which resulted in with_excpetions=None -> False all the time...
Test should follow tomorrow.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Having execute() use a different directory is an important piece
of API information so I added more documentation about it and
renamed the flag to just "keep_cwd" since that's shorter and simpler.
Signed-off-by: David Aguilar <davvid@gmail.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit 'sverre/master':
Added a with_keep_cwd option
Improved the GIT_PYTHON_TRACE=full output format
Added /dist to .gitignore
Conflicts:
lib/git/cmd.py
Signed-off-by: David Aguilar <davvid@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When executing commands, if the with_keep_cwd option is
specified, the current working directory will be set to
os.getcwd() instead of the directory containing the
.git directory.
|
| | |
| | |
| | |
| | |
| | |
| | | |
It now also shows stderr if there was any on it, and only
shows stdout if there was any output. Also added a '->'
between the command and the return value as a visual clue.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to avoid the expense of parsing .git/config
just to know whether or not a repository is bare
at __init__ time, we just pass an optional flag to
Git.__init__():
bare_repo with a default value of False.
Repo.init_bare() was updated to pass this flag.
We could have an optional Git.read_bare_status() function
that does the expensive lookup. Then, users can optionally
call it at runtime if they really need to know whether or not
a repository is bare. That seems like a decent tradeoff between
speed, correctness, and common use cases.
Signed-off-by: David Aguilar <davvid@gmail.com>
|