summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #413 from nvie/support-repeated-cmd-kwargsVincent Driessen2016-04-192-12/+24
|\ | | | | Support repeated kwargs
| * Support repeated kwargsVincent Driessen2016-04-192-12/+24
|/ | | | | | | | | | | | | Some Git command line options are allowed to be repeated multiple times. Examples of this are the -C flag which may occur more than once to "strengthen" its effect, or the -L flag on Git blames, to select multiple blocks of lines to blame. $ git diff -C -C HEAD~1 HEAD $ git blame -L 1-3 -L 12-18 HEAD -- somefile.py This patch supports passing a list/tuple as the value part for kwargs, so that the generated Git command contain the repeated options.
* Merge pull request #412 from nvie/fix-diff-patch-parsingVincent Driessen2016-04-195-19/+58
|\ | | | | Fix diff patch parsing
| * Fix order of regex partsVincent Driessen2016-04-191-3/+4
| | | | | | | | | | When both old/new mode and rename from/to lines are found, they will appear in different order.
| * Make test stricterVincent Driessen2016-04-191-1/+1
| |
| * Fix regexVincent Driessen2016-04-191-2/+2
| | | | | | | | | | | | This makes sure we're not matching a \n here by accident. It's now almost the same as the original that used \S+, except that spaces are not eaten at the end of the string (for files that end in a space).
| * Update changelogVincent Driessen2016-04-191-3/+17
| |
| * Make diff patch parsing more reliableVincent Driessen2016-04-194-14/+38
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | The a_path and b_path cannot reliably be read from the first diff line as it's ambiguous. From the git-diff manpage: > The a/ and b/ filenames are the same unless rename/copy is involved. > Especially, **even for a creation or a deletion**, /dev/null is not > used in place of the a/ or b/ filenames. This patch changes the a_path and b_path detection to read it from the more reliable locations further down the diff headers. Two use cases are fixed by this: - As the man page snippet above states, for new/deleted files the a or b path will now be properly None. - File names with spaces in it are now properly parsed. Working on this patch, I realized the --- and +++ lines really belong to the diff header, not the diff contents. This means that when parsing the patch format, the --- and +++ will now be swallowed, and not end up anymore as part of the diff contents. The diff contents now always start with an @@ line. This may be a breaking change for some users that rely on this behaviour. However, those users could now access that information more reliably via the normal Diff properties a_path and b_path now.
* Merge pull request #411 from nvie/enrich-incremental-blame-outputVincent Driessen2016-04-192-8/+25
|\ | | | | Enrich incremental blame output
| * Merge remote-tracking branch 'upstream/master' into ↵Vincent Driessen2016-04-198-16/+54
| |\ | |/ |/| | | enrich-incremental-blame-output
* | Merge pull request #408 from nvie/masterVincent Driessen2016-04-197-18/+55
|\ \ | | | | | | Add support for diffing against root commit
| * \ Merge remote-tracking branch 'upstream/master'Vincent Driessen2016-04-193-3/+1
| |\ \ | |/ / |/| |
* | | feat(py-support): drop py2.6 supportSebastian Thiel2016-04-193-2/+4
| | | | | | | | | | | | | | | In response to https://github.com/gitpython-developers/GitPython/pull/408/files/5de21c7fa2bdd5cd50c4f62ba848af54589167d0..aae2a7328a4d28077a4b4182b4f36f19c953765b#r59722704
| * | Remove Python 2.6 hackVincent Driessen2016-04-191-8/+1
| | | | | | | | | | | | Since support was dropped.
| * | Perform diff-tree recursively to have the same output as diffVincent Driessen2016-04-141-0/+2
| | |
| * | Drop dependency on sixVincent Driessen2016-04-142-4/+5
| | |
| * | Fix test casesVincent Driessen2016-04-141-4/+5
| | |
| * | Export NULL_TREEVincent Driessen2016-04-141-1/+1
| | |
| * | Update changelog for next releaseVincent Driessen2016-04-141-0/+7
| | |
| * | Use a special object rather than a stringVincent Driessen2016-04-141-2/+5
| | | | | | | | | | | | | | | This alternative API does not prevent users from using the valid treeish "root".
| * | Fix commentVincent Driessen2016-04-141-1/+3
| | |
| * | Support "root" as a special value in .diff() callsVincent Driessen2016-04-143-5/+36
| | | | | | | | | | | | This enabled getting diff patches for root commits.
| * | Add Python 3.5 envVincent Driessen2016-04-141-1/+1
| | |
| * | Pass through the $HOME env var to the tox envVincent Driessen2016-04-141-0/+1
|/ /
| * Return all available data from git-blameVincent Driessen2016-04-142-8/+25
| | | | | | | | | | Returning this now to avoid having to change the function's return value structure later on if we want to emit more information.
| * Drop dependency on sixVincent Driessen2016-04-142-4/+5
|/
* Merge pull request #402 from rrei/masterSebastian Thiel2016-04-141-2/+6
|\ | | | | | | | | Remove assertion over fetch refspec when explicitly specified Fixes #396
| * Remove assertion over fetch refspec when explicitly specifiedrrei2016-03-291-2/+6
| |
* | Merge pull request #409 from nvie/add-incremental-blame-supportSebastian Thiel2016-04-144-3/+134
|\ \ | | | | | | Add incremental blame support
| * | Allow passing args to git-blameVincent Driessen2016-04-131-3/+3
| | | | | | | | | | | | This can be used to pass options like -C or -M.
| * | Add incremental blame supportVincent Driessen2016-04-134-2/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a sibling method to Repo's blame method: Repo.blame_incremental(rev, path, **kwargs) This can alternatively be called using: Repo.blame(rev, path, incremental=True) The main difference is that blame incremental is a bit more efficient and does not return the full file's contents, just the commits and the line number ranges. The parser is a bit more straight-forward and faster since the incremental output format is defined a little stricter.
* | | Merge pull request #410 from ppietrasa/masterSebastian Thiel2016-04-142-3/+22
|\ \ \ | |/ / |/| | fix(index): avoid recursing endlessly in add()
| * | fixed unittest of issue #407 for Python3Piotr Pietraszkiewicz2016-04-131-1/+1
| | |
| * | fix(index): avoid recursing endlessly in add()Piotr Pietraszkiewicz2016-04-132-3/+22
|/ / | | | | | | Issue #407
* | Merge pull request #405 from nvie/masterSebastian Thiel2016-04-102-5/+5
|\ \ | | | | | | Make sure .read() and friends always return bytes
| * | Fix testsVincent Driessen2016-04-071-3/+3
| | |
| * | Make sure .read() and friends always return bytesVincent Driessen2016-04-061-2/+2
|/ /
* | Merge pull request #404 from graingert/patch-1Sebastian Thiel2016-04-041-0/+2
|\ \ | |/ |/| Support universal wheels
| * Support universal wheelsThomas Grainger2016-04-041-0/+2
|/
* fix(remote): asssertion message formattingSebastian Thiel2016-03-281-2/+3
| | | | Related to #396
* fix(refs): don't raise StopIterationSebastian Thiel2016-03-282-1/+2
| | | | Fixes #394
* Merge pull request #398 from gitprime/masterSebastian Thiel2016-03-163-1/+9
|\ | | | | Split diff line by '\t' for metadata and path
| * Add test and fixture for diff index from raw formatJonathan Chu2016-03-162-0/+7
| | | | | | | | | | | | This tests the edge case of doing a diff against a single whitespace filename and returns the proper change type. All other normal usage of this diff classmethod should remain unchanged.
| * Split diff line by '\t' for metadata and pathJonathan Chu2016-03-151-1/+2
|/ | | | | | | | | | | | | | | | | | | | | | This protects against `.split(None)` which uses consecutive whitespace as a separator to overlook paths where a single space is the filename. For example, in this diff line: line = ':100644 000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 D ' The deleted file is a file named ' ' (just one space). It's entirely possible to commit this, remove, and to produce the following output from `git diff`: git diff --name-status <SHA1> <SHA2> D M path/to/another/file.py ... This would cause the initial `.split(None, 5)` to fail as it will count all consecutive whitespace as a separator, disregarding the ' ' (single space) filename.
* Merge pull request #397 from wagnermarkd/patch-1Sebastian Thiel2016-03-151-1/+1
|\ | | | | Fix it's vs its in tutorial.rst
| * Fix it's vs its in tutorial.rstMark Wagner2016-03-141-1/+1
|/
* Merge pull request #391 from pendragon-/parser_context_reenterSebastian Thiel2016-03-062-15/+38
|\ | | | | config parsers as context mangers can now be reentered for locks
| * config parsers as context mangers can now be reentered for locksRaphael Boidol2016-03-062-15/+38
|/
* Merge pull request #389 from csnover/csnover-buffer-readsSebastian Thiel2016-02-251-0/+1
|\ | | | | fix(cmd): Use buffered reads
| * fix(cmd): Use buffered readsColin Snover2016-02-241-0/+1
| | | | | | Popen defaults to using unbuffered reads, which are extremely slow.