| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
| |
|
| |
|
|
|
|
| |
_from_string classmethod.
|
|
|
|
| |
message for designated co-authors, include a simple test.
|
|
|
|
|
|
|
|
| |
docs: add typerror exception to active_branch method
fix: sphinx syntax
add author
|
|
|
|
| |
Signed-off-by: Predeactor <predeactor0@gmail.com>
|
|
|
|
| |
Signed-off-by: Predeactor <predeactor0@gmail.com>
|
| |
|
| |
|
|\
| |
| | |
Fix blob filter types
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
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 the types and type annotations of some of the blob filter code.
|
|/
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
| |
People can change the `/cygdrive` prefix for mounting Windows drives; `/` and `/mnt` are both popular. `/proc/cygdrive` is always going to have the drive letters under it.
|
| |
|
|
|
|
| |
Close #1382
|
| |
|
| |
|
|
|
|
| |
This reverts commit a7c5d887e943aa51f2270e517954c024a8c01500.
|
|
|
|
| |
`flake8` seems to dislike the formatting of black.
|
|
|
|
|
| |
That way people who use it won't be deterred, while it unifies style
everywhere.
|
|
|
| |
Found via `codespell -q 3 -S ./git/ext/gitdb,./test/fixtures/reflog_master,./test/fixtures/diff_mode_only,./test/fixtures/reflog_HEAD`
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This commit adds the `strip_newline` flag to the `Git.execute` method.
When this flag is set to `True`, it will trim the trailing `\n`. The
default value is `True` for backward compatibility. Setting it to
`False` is helpful for, e.g., the `git show` output, especially with the binary
file, as the missing `\n` may invalidate the file.
|
|
|
|
| |
This matches the signature from `Head.create`.
|
| |
|
| |
|
|
|
|
| |
https://huntr.dev/bounties/8549d81f-dc45-4af7-9f2a-2d70752d8524/
|
| |
|
|
|
|
| |
To create a window application with pyinstaller, all suprocess input and output streams must be assigned and must not be None.
https://stackoverflow.com/a/51706087/7076612
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix #971. Partly resolve #703.
If the hook doesn't have a file extension, then Windows won't know how
to run it and you'll get "[WinError 193] %1 is not a valid Win32
application". It's very likely that it's a shell script of some kind, so
use bash.exe (commonly installed via Windows Subsystem for Linux). We
don't want to run all hooks with bash because they could be .bat files.
Update tests to get several hook ones working. More work necessary to
get commit-msg hook working. The hook writes to the wrong file because
it's not using forward slashes in the path:
C:\Users\idbrii\AppData\Local\Temp\bare_test_commit_msg_hook_successy5fo00du\CUsersidbriiAppDataLocalTempbare_test_commit_msg_hook_successy5fo00duCOMMIT_EDITMSG
|
|
|
| |
This should not be imported at root level, since it adds a lot of initialization overhead without need.
|
|
|
| |
This should not be imported at root level, since it adds a lot of initialization overhead without need.
|
|
|
|
| |
A regression that was introduced with d79d20d.
|
| |
|