| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
functionality. Update trailers tests.
|
|
|
|
|
|
|
|
| |
The `utctz_to_altz` and `altz_to_utctz_str` functions fail to handle
timezones with UTC offsets that are not a multiple of one
hour. Rewrite them and add some unit tests.
Fixes #630
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GitPython parses the output of `git diff --numstat` to get the
files changed in a commit.
This breaks when a commit contains a file rename, because the output
of `git diff` is different than expected.
This is the output of a normal commit:
$ git diff --numstat 8f41a390bf9a^ 8f41a390bf9a
30 5 test/test_repo.py
And this a commit containing a rename:
$ git diff --numstat 185d847ec764^ 185d847ec764
3 1 .github/workflows/{test_pytest.yml => Future.yml}
This can be triggered by this code:
for commit in repo.iter_commits():
print(commit.hexsha)
for file in commit.stats.files:
print(file)
Which will print for the normal commit:
8f41a390bf9a54db6f85032bc56b453307b95451
'test/test_repo.py'
And when there is a rename:
185d847ec7647fd2642a82d9205fb3d07ea71715
'.github/workflows/{test_pytest.yml => Future.yml}'
Additionally, when a path member is removed, the file list become
a list of strings, breaking even more the caller. This is in the
Linux kernel tree:
$ git diff --numstat db401875f438^ db401875f438
1 1 tools/testing/selftests/drivers/net/mlxsw/{spectrum-2 => }/devlink_trap_tunnel_ipip6.sh
and GitPython parses it as:
db401875f438168c5804b295b93a28c7730bb57a
('tools/testing/selftests/drivers/net/mlxsw/{spectrum-2 => '
'}/devlink_trap_tunnel_ipip6.sh')
Fix this by pasing the --no-renames option to `git diff` which ignores
renames and print the same output as if the file was deleted from the
old path and created in the new one:
$ git diff --numstat --no-renames 185d847ec764^ 185d847ec764
57 0 .github/workflows/Future.yml
0 55 .github/workflows/test_pytest.yml
|
| |
|
|
|
|
|
|
|
|
| |
These errors are mostly fixed by either adding blank lines or single
spaces for Sphinx documentation key words.
The commit solely includes documentation changes, no functional
changes.
|
| |
|
| |
|
| |
|
|
|
|
| |
_from_string classmethod.
|
|
|
|
| |
message for designated co-authors, include a simple test.
|
| |
|
| |
|
|
|
|
| |
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 should not be imported at root level, since it adds a lot of initialization overhead without need.
|
| |
|
|
|
|
|
|
|
| |
The whitespace handling and trailer selection isn't very trivial or good
documented. It therefore seemed easier and less error prone to just call
git to parse the message for the trailers section and remove superfluos
whitespaces.
|
|
|
|
|
|
|
|
| |
With the command `git interpret-trailers` git provides a way to interact
with trailer lines in the commit messages that look similar to RFC 822
e-mail headers (see: https://git-scm.com/docs/git-interpret-trailers).
The new property returns those parsed trailer lines from the message as
dictionary.
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 53d94b8091b36847bb9e495c76bb5a3ec2a2fdb5.
The reason for the revert is that the commit in question introduced a
regression where certain modules, functions and classes that were
exposed before were no longer exposed.
See https://github.com/gitpython-developers/GitPython/pull/1352#issuecomment-932757204
for additional information.
|
|
|
|
|
|
|
| |
All `from <module> import *` has now been replaced by
`from <module> import X, Y, ...`.
Contributes to #1349
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|