aboutsummaryrefslogtreecommitdiff
path: root/lib/git
AgeCommit message (Collapse)Author
2008-12-15Make message the full message and add a summary propertyPaul Sowden
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)
2008-12-15add support for parsing rename info to the diff parserPaul Sowden
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)
2008-12-15implement a far far faster diff parserPaul Sowden
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)
2008-12-15add a path parameter to most commit methodsPaul Sowden
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)
2008-12-15remove ambiguity between paths and treeishsPaul Sowden
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)
2008-12-15fixed git.Tree.__len__ argumentsk0001
(cherry picked from commit 657444d75d7b2d6913c2d491841b9bd70c8bd289)
2008-09-17Replace GitPython with git in repr() outputs.Steve Frécinaux
The imported module is called git (as in "import git"), so it's less confusing to do so than to call everything GitPython.something.
2008-09-14Merge branch 'master' of git://gitorious.org/git-python/dokais-cloneMichael Trier
2008-09-14Merge branch 'master' of git://gitorious.org/git-python/nudMichael Trier
2008-09-12Added a read-only Repo.active_branch property which returns the name of the ↵Kai Lautaportti
currently active branch.
2008-09-12Cosmetic fixes to be consistent with the overall coding style.Kai Lautaportti
2008-09-12Added a read-only property Repo.is_dirty which reflects the status of theKai Lautaportti
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.
2008-09-07Allow modifying the project descriptionSteve Frécinaux
Do this: >>> repo.description = "Foo Bar" >>> repo.description 'Foo Bar'
2008-09-07Make daemon export a property of git.RepoSteve Frécinaux
Now you can do this: >>> exported = repo.daemon_export >>> repo.daemon_export = True
2008-09-06Do not use **kwargs for constructors.Steve Frécinaux
It is better to have an explicit list of variables for the constructors, be it only to avoid mispelled arguments.
2008-09-06Make Tree.content_from_string a static method.Steve Frécinaux
It doesn't use an object's private contents, so let's go...
2008-09-06Implement dict protocol for trees.Steve Frécinaux
It is rather intuitive to consider trees as a dict of objects (like a directory could be seen as a dict of files).
2008-09-05Initialize trees completely in tree.__bake__().Steve Frécinaux
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)
2008-09-05Use a dictionnary for tree contentsSteve Frécinaux
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).
2008-09-05Merge branch 'master' of git://gitorious.org/git-python/nudFlorian Apolloner
2008-09-05Fix unneeded dict unpacking.Steve Frécinaux
2008-09-02commit: handle --bisect-all output in Commit.list_from_stringDavid Aguilar
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>
2008-08-21Merge branch 'master' of git@gitorious.org:git-python/mainlineFlorian Apolloner
2008-08-21fixed unneeded list unpackingFlorian Apolloner
2008-08-18fixed it so init actually creates a bare repo. Thank you Daniel Watkins.Michael Trier
2008-08-11use shell=True in windows (git.exe needs to be on %PATH%)Florian Apolloner
One bug remaining: git on windows is returning status 0 for `git this-does-not-exist`, so no GitCommandError is raised.
2008-07-28Fix use of bare repositories.Jelmer Vernooij
(cherry picked from commit 80f8a18a69e307f6ea0bfeb14791fc75e239faa2)
2008-07-28Remove debug statement.Jelmer Vernooij
(cherry picked from commit 1f9e1bacb65fe503ad23efba7f99ca6346fa648c)
2008-07-28Avoid stripping newlines in blob data.Jelmer Vernooij
(cherry picked from commit ccca12ee26e40fb4c4df2d77154ed496144569b9)
2008-07-17Removed method_missing since it was only used in one place.Michael Trier
2008-07-17fixed a silly typoFlorian Apolloner
2008-07-16Added license information to all files.Michael Trier
2008-07-08fixed ↵0.1.4-preFlorian Apolloner
http://groups.google.com/group/git-python/browse_thread/thread/62b972d2345c74c2?hl=en# and added lines to the per file stats
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-06-21added os.path.expanduser to the repo initializationFlorian Apolloner
2008-06-21continued yesterdays work on the execute stuffFlorian Apolloner
2008-06-20made with_exceptions=True default (don't look before you leak ;)) and ↵Florian Apolloner
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.
2008-06-20Merge branch 'master' of git://gitorious.org/git-python/david into bisectFlorian Apolloner
2008-06-20fixed second problem in ↵Florian Apolloner
http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db?hl=en# I'll look at the other one in an hour
2008-06-15cmd: rename with_keep_cwd to keep_cwdDavid Aguilar
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>
2008-06-15Merge commit 'sverre/master' into davidDavid Aguilar
* 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>
2008-06-15cmd: better support for bare repositoriesDavid Aguilar
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>
2008-06-13Added a with_keep_cwd optionSverre Rabbelier
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.
2008-06-13Improved the GIT_PYTHON_TRACE=full output formatSverre Rabbelier
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.
2008-06-12cmd: properly handle cwd for repos with work treesDavid Aguilar
This is a fix on top of Govind's latest performance improvement. self._cwd was always set to self._git_dir which means a lot of commands that require work trees were not available to GitPython. Execute now uses self._cwd which is equal to self._git_dir by default, and self.get_work_tree() if a work tree exists. Signed-off-by: David Aguilar <davvid@gmail.com>
2008-06-12repo: these changes make Govind's latest changes pass the test casesDavid Aguilar
Signed-off-by: David Aguilar <davvid@gmail.com>
2008-06-12Determine git_dir and git_work_tree in python.Govind Salinas
Calling git to find the git_dir and work_tree is very costly. This patch uses the same mechanisim to find the git_dir as native git does without shelling out. Signed-off-by: Govind Salinas <blix@sophiasuchtig.com>
2008-06-11stupid typo *grr*Florian Apolloner
2008-06-11removed to much :þFlorian Apolloner
2008-06-11added support for GIT_PYTHON_TRACE=='full', thx to SRabbelier for the suggestionFlorian Apolloner