summaryrefslogtreecommitdiff
path: root/lib/git/cmd.py
Commit message (Collapse)AuthorAgeFilesLines
* Added imports for standard locking file classes into the git moduleSebastian Thiel2009-12-161-0/+3
|
* repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel2009-12-031-9/+11
| | | | safer to use in case of bare repositories
* repo: fixed incorrect path handling thta could lead to issues if the ↵Sebastian Thiel2009-12-031-1/+3
| | | | repository was initialized with a .git repository, although it was not bare actually
* SymbolicReferences can now be at any path within the repository, there is no ↵Sebastian Thiel2009-11-261-1/+1
| | | | | | restriction anymore. Added a test to assure the git commands can handle it
* fixed test_repo to work on windowsSebastian Thiel2009-11-051-1/+1
| | | | cmd: taskkill now pipes stderror to nul as well
* cmd: added clear_cache method now used by test repo decorators to be sure ↵Sebastian Thiel2009-11-051-1/+14
| | | | persistent commands are killed before trying to remove the directory. Unfortunately, it still claims someone has opened the file. handle.exe does not show anyone, so what is happening here ? Is it just a windows odity ? If nothing helps I could just keep the temp data, but lets do some more testing first
* git cmd on windows now runs without the shell, see diff for explanationSebastian Thiel2009-11-051-2/+7
|
* Fixed windows TASKKILL so it actually does something *silently*Sebastian Thiel2009-11-051-1/+4
|
* Improved cmd error handling in case an invalid revision is specified for an ↵Sebastian Thiel2009-11-041-2/+3
| | | | | | object repo.tree: improved to be less restricting
* cmd.wait: AutoKill wrapped process will automatically raise on errors to ↵Sebastian Thiel2009-10-261-4/+22
| | | | unify error handling amongst clients using the process directly. It might be needed to add a flag allowing to easily override that
* git cmd fix: After removing the with_raw_output flag, I actually did the ↵Sebastian Thiel2009-10-221-2/+2
| | | | wrong thing by _not_ stripping the final newline at the end of all git commands we use. This is the default now which cannot be changed - perhaps its wrong to remove it, but in way you'd always want the final newline stripped unless you get data directly, but there are better ways to do that ( blob.data, blob.data_stream, blob.stream_data )
* Stream_data streams data to a given output stream most efficiently with a ↵Sebastian Thiel2009-10-221-1/+0
| | | | | | | | | | | 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
* Git.cmd: removed with_raw_output optionSebastian Thiel2009-10-221-21/+28
| | | | | repo.archive: made it work with new way of custom output streams added test for repo.archive which was missing for some reason
* added Object.data_stream property allowing to stream object data ↵Sebastian Thiel2009-10-221-0/+1
| | | | 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
* remote: Added fetch, pull, push methods to the interface to make these ↵Sebastian Thiel2009-10-211-2/+4
| | | | operations more convenient, like repo.remotes.origin.fetch
* Moved specialized methods like dashify, touch and is_git_dir to module to ↵Sebastian Thiel2009-10-201-0/+3
| | | | | | the respective modules that use them fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
* Improved archive function by allowing it to directly write to an output ↵Sebastian Thiel2009-10-151-13/+23
| | | | | | stream - previously it would cache everything to memory and try to provide zipping functionality itself gitcmd: allows the output stream to be set explicitly which is mainly useful for archiving operations
* repo: removed a few methods because of redundancy or because it will be ↵Sebastian Thiel2009-10-151-1/+17
| | | | obsolete once the interface overhaul is finished. This commit is just intermediate
* persistent command signature changed to also return the hexsha from a ↵Sebastian Thiel2009-10-141-6/+6
| | | | 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
* Implemented git command facility to keep persistent commands for fast object ↵Sebastian Thiel2009-10-141-2/+76
| | | | information retrieval
* cmd: added option to return the process directly, allowing to read the ↵Sebastian Thiel2009-10-141-1/+45
| | | | | | | 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 )
* converted all spaces to tabs ( 4 spaces = 1 tab ) just to allow me and my ↵Sebastian Thiel2009-10-111-194/+194
| | | | editor to work with the files properly. Can convert it back for releaes
* finished cleaning usage of regular expressions - they are now precompiledSebastian Thiel2009-10-091-1/+0
|
* Merge branch 'doc_enhancements' into fixesSebastian Thiel2009-10-081-8/+46
|\
| * Added docs for the error moduleSebastian Thiel2009-10-081-1/+4
| |
| * improved git.cmd documentationSebastian Thiel2009-10-081-8/+43
| |
* | git.git.Git.__init__ takes None as default argument as the execute method ↵Sebastian Thiel2009-10-081-1/+1
|/ | | | handles this correctly
* Lots of spring cleaning and added in Sphinx documentation.Michael Trier2009-01-241-1/+1
|
* use shell=True in windows (git.exe needs to be on %PATH%)Florian Apolloner2008-08-111-3/+8
| | | | One bug remaining: git on windows is returning status 0 for `git this-does-not-exist`, so no GitCommandError is raised.
* Removed method_missing since it was only used in one place.Michael Trier2008-07-171-3/+7
|
* Added license information to all files.Michael Trier2008-07-161-0/+6
|
* fixed ↵Florian Apolloner2008-06-251-60/+5
| | | | http://groups.google.com/group/git-python/browse_thread/thread/b8f3580abf31f9db?hl=en# and passed Git a working_tree again (sort of).
* continued yesterdays work on the execute stuffFlorian Apolloner2008-06-211-24/+16
|
* made with_exceptions=True default (don't look before you leak ;)) and ↵Florian Apolloner2008-06-201-33/+24
| | | | | | | | 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.
* cmd: rename with_keep_cwd to keep_cwdDavid Aguilar2008-06-151-7/+9
| | | | | | | | 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>
* Merge commit 'sverre/master' into davidDavid Aguilar2008-06-151-2/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Added a with_keep_cwd optionSverre Rabbelier2008-06-131-1/+13
| | | | | | | | | | | | | | 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.
| * Improved the GIT_PYTHON_TRACE=full output formatSverre Rabbelier2008-06-131-1/+10
| | | | | | | | | | | | 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.
* | cmd: better support for bare repositoriesDavid Aguilar2008-06-151-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | cmd: properly handle cwd for repos with work treesDavid Aguilar2008-06-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Determine git_dir and git_work_tree in python.Govind Salinas2008-06-121-31/+50
|/ | | | | | | | 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>
* added support for GIT_PYTHON_TRACE=='full', thx to SRabbelier for the suggestionFlorian Apolloner2008-06-111-2/+5
|
* Git: guard against passing False to git commandsDavid Aguilar2008-06-011-2/+2
| | | | | | | | | | | | | | | | git does not accept commands of the form: git cmd --xx=False or git cmd -xFalse This patch prevents transform_kwargs from producing command lines with those values. This adds some flexibility/syntactic sugar for callers since they can then assume that kwargs with a False value are not passed to git commands. Signed-off-by: David Aguilar <davvid@gmail.com>
* style: follow PEP 8 in git/cmd.pyDavid Aguilar2008-06-011-9/+9
| | | | | | | Keyword args shouldn't use spaces around the equals sign per PEP 8. Signed-off-by: David Aguilar <davvid@gmail.com>
* fixed ↵Florian Apolloner2008-06-011-1/+1
| | | | http://gitorious.org/projects/git-python/repos/apollo13/comments#comment_105 my mistake ;) I'll investigate this further, but I think we are on the safe side now...
* reverted to the cleaner and safer proc.wait method instead of communicate.Florian Apolloner2008-06-011-3/+2
|
* whoops forgot cmd.Michael Trier2008-05-311-0/+190