summaryrefslogtreecommitdiff
path: root/lib/git/cmd.py
Commit message (Collapse)AuthorAgeFilesLines
* moved all contents, incl. submodule gitdb, up to the root directorySebastian Thiel2010-11-211-515/+0
|
* cmd: improved error handling and debug printingSebastian Thiel2010-10-271-6/+8
| | | | head.reset: will now handle resets with paths much better, especially in the --mixed case, see http://github.com/Byron/GitPython/issues#issue/2
* Renamed modules utils to util, and errors to exc to be more conforming to ↵Sebastian Thiel2010-06-291-2/+2
| | | | the submodules's naming conventions
* Updated and fixed sphinx API docs, which included one quick skim-throughSebastian Thiel2010-06-291-1/+1
|
* Adjusted all files to (hopefully) deal with the fact that all objects now ↵Sebastian Thiel2010-06-251-89/+64
| | | | | | | 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
* GitCmdStreamReader: fixed terrible bug which only kicked in if the stream ↵Sebastian Thiel2010-06-241-5/+16
| | | | | | 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
* Merge branch 'odb'Sebastian Thiel2010-06-041-418/+506
|\ | | | | | | | | Conflicts: lib/git/cmd.py
| * commit.create_from_tree now uses pure python implementation, fixed message ↵Sebastian Thiel2010-06-031-6/+1
| | | | | | | | | | | | 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
| * git.cmd: added test for stream section constraint used in git command, found ↵Sebastian Thiel2010-06-021-1/+6
| | | | | | | | bug of course which just didn't kick in yet
| * commit: refactored existing code to decode commits from streams - ↵Sebastian Thiel2010-06-021-405/+496
| | | | | | | | | | | | | | 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
* | git.cmd: using communicate in the main branch of execution, which might not ↵Sebastian Thiel2010-06-031-9/+16
| | | | | | | | | | | | 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
* | git.cmd: moved hardcoded chunksize when duplicating stream data into ↵Sebastian Thiel2010-06-031-3/+9
|/ | | | easy-to-change class member variable
* gitcmd: may now receive extra keyword arguments to be passed directly to the ↵Sebastian Thiel2010-05-311-11/+9
| | | | subproces.Popen invocation. It could be used to pass custom environments, without changing the own one (#26)
* cmd: By default, on linux, the parent file handles will be closed to leave ↵Sebastian Thiel2010-05-271-0/+1
| | | | 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
* Repo: Added comparison operators and hash operator including testSebastian Thiel2010-05-121-2/+6
| | | | Cmd: AutoInterrupt handles boundary cases more gracefully as it can be that the os module suddenly becomes None if the interpreter is going down
* Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel2010-03-041-371/+371
|
* 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.