| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
the submodules's naming conventions
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
Conflicts:
lib/git/cmd.py
|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
bug of course which just didn't kick in yet
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
easy-to-change class member variable
|
|
|
|
| |
subproces.Popen invocation. It could be used to pass custom environments, without changing the own one (#26)
|
|
|
|
| |
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
|
|
|
|
| |
Cmd: AutoInterrupt handles boundary cases more gracefully as it can be that the os module suddenly becomes None if the interpreter is going down
|
| |
|
| |
|
|
|
|
| |
safer to use in case of bare repositories
|
|
|
|
| |
repository was initialized with a .git repository, although it was not bare actually
|
|
|
|
|
|
| |
restriction anymore.
Added a test to assure the git commands can handle it
|
|
|
|
| |
cmd: taskkill now pipes stderror to nul as well
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
object
repo.tree: improved to be less restricting
|
|
|
|
| |
unify error handling amongst clients using the process directly. It might be needed to add a flag allowing to easily override that
|
|
|
|
| |
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 )
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
repo.archive: made it work with new way of custom output streams
added test for repo.archive which was missing for some reason
|
|
|
|
| |
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
|
|
|
|
| |
operations more convenient, like repo.remotes.origin.fetch
|
|
|
|
|
|
| |
the respective modules that use them
fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
|
|
|
|
|
|
| |
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
|
|
|
|
| |
obsolete once the interface overhaul is finished. This commit is just intermediate
|
|
|
|
| |
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
|
|
|
|
| |
information retrieval
|
|
|
|
|
|
|
| |
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 )
|
|
|
|
| |
editor to work with the files properly. Can convert it back for releaes
|
| |
|
|\ |
|
| | |
|
| | |
|
|/
|
|
| |
handles this correctly
|
| |
|
|
|
|
| |
One bug remaining: git on windows is returning status 0 for `git this-does-not-exist`, so no GitCommandError is raised.
|
| |
|
| |
|
|
|
|
| |
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>
|