summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* bump version to 3.1.283.1.28Sebastian Thiel2022-10-071-1/+1
|
* prepare changelogSebastian Thiel2022-10-071-0/+6
|
* Merge pull request #1497 from dwapstra/git_diff_emptySebastian Thiel2022-09-272-0/+9
|\ | | | | Ignore empty info in diff line
| * Ignore empty info in diff lineDave Wapstra2022-09-272-0/+9
|/
* Merge pull request #1491 from langfield/mainSebastian Thiel2022-09-142-2/+4
|\ | | | | Fix bug where colons in paths raise a `ValueError` on `diff()` calls.
| * Fix bug where colons in paths raise a `ValueError` on `diff()` calls.Malcolm Langfield2022-09-122-2/+4
|/ | | | | | | | | | | | | | | | | This commit introduces a potential fix for #1490 and #1483, in which an `invalid literal for int() with base 10: 'n'` exception was raised within a diff operation. Within `_handle_diff_line()`, we split the output of `git diff-tree` on colons (`:` characters), under the assumption that there are no colons within the paths of the files being diffed. On POSIX systems this is not a valid assumption. The fix is to split on `\x00:`, since a null character always precedes the colons we actually need to split on. A test already existed for this case (`test_diff_file_with_colon()`), but it was marked as skipped. * Split on `\x00:` instead of `:` in `_handle_diff_line()`. * Unskip `test_diff_file_with_colon()`.
* Merge pull request #1485 from thehale/blame/rev-optsSebastian Thiel2022-09-013-3/+16
|\ | | | | feat(blame): Support custom `rev_opts` for blame
| * feat(blame): Support custom `rev_opts` for blameJoseph Hale2022-08-303-3/+16
|/ | | | | | | | | | | | | | | | The `git blame` CLI offers a repeated `-C` option that can be used to detect lines that move within/between files. While a slower operation, it yields more accurate authorship reports. https://git-scm.com/docs/git-blame#Documentation/git-blame.txt--Cltnumgt While GitPython does enable passing custom kwargs to the command line `git` invocation, the fact that kwargs is a dictionary (i.e. no duplicate keys) means that there was no way to request the `-C` option in `git blame` more than once. This commit adds an optional `rev_opts` parameter to the `blame` method which accepts a list of strings to propagate to the CLI invocation of `git blame`. By using a `List[str]` for `rev_opts`, users of GitPython can pass now the `-C` option multiple times to get more detailed authorship reports from `git blame`.
* Merge branch 'add-co-authors'Sebastian Thiel2022-08-255-1/+46
|\
| * Allow failure of that one test on cygwinSebastian Thiel2022-08-251-0/+7
| |
| * Ignore flake8 error.Twist2022-08-241-1/+1
| |
| * Use the same regex as the Actor class when determining co-authors.Twist2022-08-242-4/+4
| |
| * Update regex to extract the author string, and create the Actor using the ↵Twist2022-08-231-3/+3
| | | | | | | | _from_string classmethod.
| * Add malformed co-authors to the test, to check they aren't detected with the ↵Twist2022-08-231-2/+6
| | | | | | | | regex.
| * Add co_authors property to the Commit object, which parses the commit ↵Twist2022-08-223-0/+34
|/ | | | message for designated co-authors, include a simple test.
* Merge pull request #1481 from grumpyp/mainSebastian Thiel2022-08-212-0/+3
|\ | | | | Improve docs
| * Merge branch 'main' of github.com:grumpyp/GitPythonPatrick Gerard2022-08-200-0/+0
| |\
| | * fix: sphinx syntaxPatrick Gerard2022-08-201-1/+1
| | |
| | * docs: add typerror exception to active_branch methodPatrick Gerard2022-08-201-0/+2
| |/ |/|
| * docs: add typerror exception to active_branch methodPatrick Gerard2022-08-202-0/+3
|/ | | | | | | | docs: add typerror exception to active_branch method fix: sphinx syntax add author
* Merge pull request #1478 from luzpaz/typosSebastian Thiel2022-08-182-3/+3
|\ | | | | Fix source comment typos
| * Fix source comment typosluz paz2022-08-172-3/+3
|/
* Merge pull request #1474 from Predeactor/masterSebastian Thiel2022-08-082-9/+3
|\ | | | | Fix incomplete typehinting for PathLike
| * fix: incorrect PathLike correctedPredeactor2022-08-071-2/+2
| | | | | | | | Signed-off-by: Predeactor <predeactor0@gmail.com>
| * fix: remove bytes type of PathLikePredeactor2022-08-071-1/+1
| | | | | | | | Signed-off-by: Predeactor <predeactor0@gmail.com>
| * Add contributor to AUTHORS filePredeactor2022-07-311-0/+1
| |
| * Fix typehinting for PathLikePredeactor2022-07-311-10/+3
|/
* Catch OSError to handle gevent monkey patching errorsEthan Anderson2022-07-061-1/+1
|
* Merge pull request #1459 from AustinScola/ascola/fix-blob-filter-typesSebastian Thiel2022-07-023-9/+50
|\ | | | | Fix blob filter types
| * Remove stage type as parameter from blob filter testAustin Scola2022-07-011-6/+7
| |
| * Fix blob filter path shorter than filter pathAustin Scola2022-06-282-2/+37
| |
| * Use generator instead of mapAustin Scola2022-06-261-1/+1
| |
| * Remove usage of `PosixPath.is_relative_to`Austin Scola2022-06-261-1/+2
| | | | | | | | | | Remove usage of `PosixPath.is_relative_to` because it was added in Python 3.9 and earlier versions of Python are supported by `GitPython`.
| * Fix pathlike type annotation typoAustin Scola2022-06-261-1/+1
| |
| * Change to not stringify pathsAustin Scola2022-06-261-4/+6
| |
| * Move stage type defAustin Scola2022-06-212-3/+4
| |
| * Add stage type to allAustin Scola2022-06-211-1/+1
| |
| * Fix blob filter typesAustin Scola2022-06-211-3/+4
| | | | | | | | Fix the types and type annotations of some of the blob filter code.
* | Fix bug in TagReference.createRuud van Asseldonk2022-06-251-2/+4
| | | | | | | | | | | | When passing the "message" kwarg, this would add a -m command-line flag without removing --message, and the message would be duplicated. Avoid that by deleting "message" from the command line.
* | Add regression test for TagReference.createRuud van Asseldonk2022-06-251-0/+17
|/ | | | | | If you pass the "message" kwarg, it also translates it to an -m command line flag, and with both -m and --message, the message appears twice. I will fix this in the next commit.
* Merge pull request #1455 from DWesl/patch-1Sebastian Thiel2022-06-217-8/+96
|\ | | | | Re-enable Cygwin CI and get most tests passing
| * FIX: Mark the correct test_submodule test as xfail on CygwinDWesl2022-06-201-4/+4
| | | | | | Got the wrong one the first time.
| * FIX: Import pytest in tests.test_docsDWesl2022-06-201-0/+2
| |
| * TST: Mark test_submodule.TestSubmodule.test_root_module as xfail on CygwinDWesl2022-06-201-0/+8
| |
| * TST: Mark test_repo.TestRepo.test_submodules as xfail on CygwinDWesl2022-06-201-0/+8
| |
| * TST: Mark test_docs.Tutorials.test_submodules as xfail on CygwinDWesl2022-06-201-0/+6
| |
| * CI: Turn of command echo for testsDWesl2022-06-111-1/+0
| | | | | | Echoing the commands in shell scripts in tests causes problems with the tests.
| * BUG: Use Cygwin paths for Cygwin gitDWesl2022-06-111-2/+4
| |
| * CI: Install virtualenv for Cygwin CI.DWesl2022-06-111-1/+1
| |
| * CI: Set temporary directory for tests.DWesl2022-06-111-0/+2
| | | | | | Hopefully this avoids the mismatched directories with saving into a user temporary directory with one user name and reading from a user temporary directory with a different user name.