aboutsummaryrefslogtreecommitdiff
path: root/lib/git/cmd.py
AgeCommit message (Collapse)Author
2010-10-27cmd: improved error handling and debug printingSebastian Thiel
head.reset: will now handle resets with paths much better, especially in the --mixed case, see http://github.com/Byron/GitPython/issues#issue/2
2010-06-29Renamed modules utils to util, and errors to exc to be more conforming to ↵Sebastian Thiel
the submodules's naming conventions
2010-06-29Updated and fixed sphinx API docs, which included one quick skim-throughSebastian Thiel
2010-06-25Adjusted all files to (hopefully) deal with the fact that all objects now ↵Sebastian Thiel
use 20 byte sha's internally as it is closer to the GitDB implementation Switched all remaining files back to tabs Adjusted all remaining docstrings to suit the sphinx doc convention - its likely that there are many of docstring syntax errors though
2010-06-24GitCmdStreamReader: fixed terrible bug which only kicked in if the stream ↵Sebastian Thiel
was actually empty. This is a rare case that can happen during stream testing. Theoretically there shouldn't be any empty streams of course, but practically they do exist sometimes ;); fixed stream.seek implementation, which previously used seek on standard output Improved GitCmd error handling
2010-06-04Merge branch 'odb'Sebastian Thiel
Conflicts: lib/git/cmd.py
2010-06-03commit.create_from_tree now uses pure python implementation, fixed message ↵Sebastian Thiel
parsing which truncated newlines although it was ilegitimate. Its up to the reader to truncate therse, nowhere in the git code I could find anyone adding newlines to commits where it is written Added performance tests for serialization, it does about 5k commits per second if writing to tmpfs
2010-06-03git.cmd: using communicate in the main branch of execution, which might not ↵Sebastian Thiel
make a big difference, but perhaps its smarter about broken pipes. Adjusted code to selectively strip terminating newline, only if they are there. The previous code would effectively duplicate the string and strip whitespace from both ends even though there was no need for it. Its a bit faster now as the tests proclaim
2010-06-03git.cmd: moved hardcoded chunksize when duplicating stream data into ↵Sebastian Thiel
easy-to-change class member variable
2010-06-02git.cmd: added test for stream section constraint used in git command, found ↵Sebastian Thiel
bug of course which just didn't kick in yet
2010-06-02commit: refactored existing code to decode commits from streams - ↵Sebastian Thiel
performance is slightly better git.cmd: added method to provide access to the content stream directly. This is more efficient if large objects are handled, if it is actually used test.helpers: removed unnecessary code
2010-05-31gitcmd: may now receive extra keyword arguments to be passed directly to the ↵Sebastian Thiel
subproces.Popen invocation. It could be used to pass custom environments, without changing the own one (#26)
2010-05-27cmd: By default, on linux, the parent file handles will be closed to leave ↵Sebastian Thiel
the child less cluttered, and make it easier to debug as it will only have the file descriptors we set. It appears to be more stable regarding the stdin-is-closed-but-child-doesn't-realize-this issue
2010-05-12Repo: Added comparison operators and hash operator including testSebastian Thiel
Cmd: AutoInterrupt handles boundary cases more gracefully as it can be that the os module suddenly becomes None if the interpreter is going down
2010-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2009-12-16Added imports for standard locking file classes into the git moduleSebastian Thiel
2009-12-03repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel
safer to use in case of bare repositories
2009-12-03repo: fixed incorrect path handling thta could lead to issues if the ↵Sebastian Thiel
repository was initialized with a .git repository, although it was not bare actually
2009-11-26SymbolicReferences can now be at any path within the repository, there is no ↵Sebastian Thiel
restriction anymore. Added a test to assure the git commands can handle it
2009-11-05fixed test_repo to work on windowsSebastian Thiel
cmd: taskkill now pipes stderror to nul as well
2009-11-05cmd: added clear_cache method now used by test repo decorators to be sure ↵Sebastian Thiel
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
2009-11-05git cmd on windows now runs without the shell, see diff for explanationSebastian Thiel
2009-11-05Fixed windows TASKKILL so it actually does something *silently*Sebastian Thiel
2009-11-04Improved cmd error handling in case an invalid revision is specified for an ↵Sebastian Thiel
object repo.tree: improved to be less restricting
2009-10-26cmd.wait: AutoKill wrapped process will automatically raise on errors to ↵Sebastian Thiel
unify error handling amongst clients using the process directly. It might be needed to add a flag allowing to easily override that
2009-10-22git cmd fix: After removing the with_raw_output flag, I actually did the ↵Sebastian Thiel
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 )
2009-10-22Stream_data streams data to a given output stream most efficiently with a ↵Sebastian Thiel
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
2009-10-22Git.cmd: removed with_raw_output optionSebastian Thiel
repo.archive: made it work with new way of custom output streams added test for repo.archive which was missing for some reason
2009-10-22added Object.data_stream property allowing to stream object data ↵Sebastian Thiel
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
2009-10-21remote: Added fetch, pull, push methods to the interface to make these ↵Sebastian Thiel
operations more convenient, like repo.remotes.origin.fetch
2009-10-20Moved specialized methods like dashify, touch and is_git_dir to module to ↵Sebastian Thiel
the respective modules that use them fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
2009-10-15Improved archive function by allowing it to directly write to an output ↵Sebastian Thiel
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
2009-10-15repo: removed a few methods because of redundancy or because it will be ↵Sebastian Thiel
obsolete once the interface overhaul is finished. This commit is just intermediate
2009-10-14persistent command signature changed to also return the hexsha from a ↵Sebastian Thiel
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
2009-10-14Implemented git command facility to keep persistent commands for fast object ↵Sebastian Thiel
information retrieval
2009-10-14cmd: added option to return the process directly, allowing to read the ↵Sebastian Thiel
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 )
2009-10-11converted all spaces to tabs ( 4 spaces = 1 tab ) just to allow me and my ↵Sebastian Thiel
editor to work with the files properly. Can convert it back for releaes
2009-10-09finished cleaning usage of regular expressions - they are now precompiledSebastian Thiel
2009-10-08Merge branch 'doc_enhancements' into fixesSebastian Thiel
2009-10-08Added docs for the error moduleSebastian Thiel
2009-10-08improved git.cmd documentationSebastian Thiel
2009-10-08git.git.Git.__init__ takes None as default argument as the execute method ↵Sebastian Thiel
handles this correctly
2009-01-24Lots of spring cleaning and added in Sphinx documentation.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-17Removed method_missing since it was only used in one place.Michael Trier
2008-07-16Added license information to all files.Michael Trier
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-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-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>