summaryrefslogtreecommitdiff
path: root/git
Commit message (Collapse)AuthorAgeFilesLines
* Add an output_strip kwarg to Git.executeLorenz Schori2012-10-182-2/+30
| | | | | | Strip the last line of the output if it is empty (default). Stripping should be disabled whenever it is important that the output is not modified in any way. For example when retrieving patch files using git-diff.
* Make GitPython work on non English systemsFlorian Ludwig2012-07-241-0/+3
|
* add tests for git.diff.Diff._index_from_raw_format()Patrick Pfeifer2012-06-162-0/+25
|
* detect renames in "git diff --raw" outputPatrick Pfeifer2012-06-161-6/+9
| | | | potentially fixes https://github.com/gitpython-developers/GitPython/issues/36
* Merge pull request #46 from ereOn/masterSebastian Thiel2012-05-303-4/+56
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incorrect handling of backslashes and quotes in GitConfigParser Steps to reproduce the issue: import git config = git.Repo().config_writer() config.add_section('test') config.set_value('test', 'test', r'some\data') Now if you try to read this value using a regular (non Python) git config, Git complains that the configuration file is invalid: fatal: bad config file line 11 in .git/config Indeed, if you open .git/config you can see that the value is written as: [test] test = some\data While the git-config configuration states that: String values may be entirely or partially enclosed in double quotes. You need to enclose variable values in double quotes if you want to preserve leading or trailing whitespace, or if the variable value contains comment characters (i.e. it contains # or ;). Double quote " and backslash \ characters in variable values must be escaped: use \" for " and \ for . That is, the backslashes are not escaped in the configuration file. This also causes issues while reading, because values are not un-escaped. This pull request fixes both those issues and also fixes unescaped quotes pairs. A test-case has been provided along with the fixes.
| * Fixed a case were values containing \\" were not properly escapedJulien Kauffmann2012-02-081-1/+6
| |
| * Fixed quotes and backslashes handling in GitConfigParserJulien Kauffmann2012-02-081-3/+22
| |
| * Added test for backslahed/quoted valuesJulien Kauffmann2012-02-082-1/+29
| |
* | Merge pull request #43 from swallat/masterSebastian Thiel2012-05-171-7/+14
|\ \ | | | | | | | | | | | | Fixed 'Inappropriate ioctl for device' problem on posix systems Without an active login shell on linux or osx, we now use the password database to obtain the active login, instead of relying on environment variables).
| * | Fixed 'Inappropriate ioctl for device' problem on posix systemsSebastian Wallat2012-02-021-7/+14
| |/
* | Ignore signal exception on AutoInterrupt destructor.Tatsuki Sugiura2012-05-081-0/+2
| | | | | | | | | | | | | | | | When command run as subprocess, AutoInterrupt will kill the process on destructor. However, if process already finished, it raise OSError exception. This fix just ignore OSError on os.kill.
* | Fix fd leak on git cmd.Tatsuki Sugiura2012-05-081-0/+5
|/ | | | | | | Currently if command is called with as_proces=True, pipes for the command will not be closed. This change makes sure to close command file descriptors.
* Fixed consecutive lines with same blame info not appearing in blame.Mark Nevill2011-07-182-2/+14
| | | | | | | | | | | | This fixes a bug when parsing blame -p output: Full commit info headers only appear for the first line from a particular commit, but other lines were ignored as the blame info dict was reset after each line. This patch handles both multiple consecutive lines from a commit and interleaved lines from multiple commits. Added real test to verify blame works against the actual commit, not only a mock of what was produced by blame in old git releases
* Fixed up tests to actually use pygit2. Its worth noting that the performance ↵Sebastian Thiel2011-07-083-23/+26
| | | | tests only work reliably in a patched up version, or the next point release.
* Added basic frame for pygit2 - it just needs some basic methods to be ↵Sebastian Thiel2011-07-0812-6/+209
| | | | implemented now - depending on the performance, it might actually receive some more work
* Added store support. Now the basic object IO is implemented, which shall be ↵Sebastian Thiel2011-07-071-1/+11
| | | | enough for the first batch of work
* Removed cache in PureCompoundDB as it had the tendency to slow things down ↵Sebastian Thiel2011-07-071-29/+17
| | | | actually
* Added trivial implementation for info and stream methods - info is very ↵Sebastian Thiel2011-07-071-0/+16
| | | | inefficient, but can't help it. Basic repo tests don't work as dulwich ignores alternate files
* Fixed submodule related issues once again - is it ever going to end ?Sebastian Thiel2011-07-072-5/+7
|
* Added default performance tests - these should help to measure something at ↵Sebastian Thiel2011-07-073-1/+18
| | | | least, which implicitly includes pack handling. For the pack specific tests to work, one would need a pack interface though, which is currently not planned to be specifically exposed
* Initial version of the DulwichType inheritance. For now, it inherits ↵Sebastian Thiel2011-07-0711-50/+133
| | | | | | everything from the existing implementation, but one by one things can be reimplmented to use dulwich. It also shows that py 2.6 is quite plagued from its new feature, which is actually a bug, as objects inability to accept any args makes mixins hard to use ...
* removed now superfluous InstanceDecorator, as it was just complicating ↵Sebastian Thiel2011-07-071-41/+17
| | | | things after all
* Added auto-skip mixin metacls, some serious brainfuck, if the required ↵Sebastian Thiel2011-07-073-14/+123
| | | | module was not found. Its actually a nice mix between decorators which are class types, and a mixin as a metaclass, which applies said decorator. The InstanceDecorator wouldn't actually be needed, but it adds flexibility. Maybe it should be removed ...
* Added basis for initial dulwich integration. Many basic issues should ↵Sebastian Thiel2011-07-066-2/+52
| | | | surface while integrating this
* cmd: on windows, we will now fallback to using git.cmd, as the default ↵Sebastian Thiel2011-07-061-6/+39
| | | | | | installation puts it into the path, instead of git.exe. Of course we warn about the performance penalty that goes with it. Fortunately, using a wrapped git.exe works when creating pipes to the process, admittedly I was a bit surprised by this. fixes #26
* Implemented GIT_PYTHON_GIT_EXECUTABLE including test and docsSebastian Thiel2011-07-052-6/+21
|
* fixes python 2.6 compatibility issuesSebastian Thiel2011-07-052-3/+15
|
* util: pick the type of memory manager based on the python version, to have ↵Sebastian Thiel2011-07-053-18/+28
| | | | | | | optimal results in all cases (at least the ones I can test) pack: now works properly with a sliding memory manager test_packedodb_pure: fixed very memory hungry implementation by using an iterator. This will of course reduce the measured performance a bit, but 750MB of memory is just a little bit too much for an ordinary test. Maybe it would be alright to just reduce the number of items ... but performance isn't a strength of python after all
* util: added global sliding memory managerSebastian Thiel2011-07-052-40/+46
| | | | pack: now using the global sliding memory manager. The current implementation uses assumes that packs are small enough to fit into memory right away, where the window size will be about 1 GB, as it never calls use_window() to assure the required offset actually exists. It will need to change to set the window appropriately.
* Added smmap as submodule, package initialization adjusted to assure it is ↵Sebastian Thiel2011-07-052-7/+9
| | | | available
* Fetch info can now deal much better with non-default ref specs, see #23, ↵Sebastian Thiel2011-07-043-6/+92
| | | | #24, #25
* Basic remote functionality moved to Reference type, as it can in fact be ↵Sebastian Thiel2011-07-043-19/+43
| | | | useful for tags as well, which might end up somewhere in the refs/remotes space. Its not likely that it will ever be used on a pure Reference instance though, but it is the smallest common base
* refs: added constructor flag to allow refs to be instatiated from any path, ↵Sebastian Thiel2011-07-042-4/+11
| | | | including simple test
* Fixed implementation of _version_info which didn't work for python 2.4 ↵Sebastian Thiel2011-06-131-1/+1
| | | | thanks to the rpartition method. omg
* fixed submodule test to work on windowsSebastian Thiel2011-06-131-2/+3
|
* Submodule now uses a specialized method to remove its trees to allow ↵Sebastian Thiel2011-06-132-5/+19
| | | | read-only files to be removed on windows as well
* Made remote line parsing more stable. On windows it can be that we encounter ↵Sebastian Thiel2011-06-131-1/+12
| | | | partial or intermixed lines from the pipe. This really shouldn't be, but its windows so it happens
* test_submodule: Will now load everything into memory if smmap is present, to ↵Sebastian Thiel2011-06-131-0/+14
| | | | help the submodule test to work even on windows
* root submodule: Added parent_commit parameter for convenience. Fixed ↵Sebastian Thiel2011-06-133-8/+9
| | | | submodule tests to run
* Fixed submodule tests to go with either the old or the new version of gitdbSebastian Thiel2011-06-131-5/+6
|
* Fixed critical issue that would cause a string to be passed to methods that ↵Sebastian Thiel2011-06-082-4/+2
| | | | expect a stream
* symbolic reference handles different types for comparison more gracefully. ↵Sebastian Thiel2011-06-082-2/+12
| | | | Fixed possible issue in test_refs, which occurred in 0.3 previously
* util: Added test for iterable list, and implemented __contains__ and __del__ ↵Sebastian Thiel2011-06-082-1/+90
| | | | functionality
* pre-emptively moved all reference related tests into own package, to ↵Sebastian Thiel2011-06-084-0/+1
| | | | | | resemble their actual location a little more. Renamed test_git to test_cmd as it tests the git cmd located in git.cmd (not in git.git)
* Improved debug assertion to provide proper path on which to run a git daemonSebastian Thiel2011-06-081-2/+4
|
* git.version_info now returns exactly 4 numbersSebastian Thiel2011-06-081-2/+4
|
* log: non-existing logs no longer throw an exception, but are ignored. Fixed ↵Sebastian Thiel2011-06-083-5/+17
| | | | critical bug which caused packed-ref files to be written with native line endings, which made git fail to parse it. I wonder why I never noticed this before, or ignored it. Unbelievable \!
* Added additional opcodes to remote progress to make it compatible to newer ↵Sebastian Thiel2011-06-073-16/+26
| | | | git versions. This bug existed for quite a while but didn't show up as progress wasn't sent most of the time. All methods that could use a progress will only activate it if a progress is actually given
* Greatly improved robustness of config parser - it can now take pretty much ↵Sebastian Thiel2011-06-073-10/+23
| | | | everything. Includes an updated config file which includes all the new additions
* Match any number of leading spaces in config valuesJesse Keating2011-06-071-1/+1
| | | | | | The regex comments state that any number of leading tabs or spaces should be allowed, however the regex was only catching zero or one space. This allows multiple spaces.