| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
tests use it
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix for #430 in bebc4f56 (Use correct mode for executable files,
2016-05-19) is incomplete. It fails (in most cases) when files have
modes which are not exactly 0644 or 0755.
Git only cares whether the executable bit is set (or not). Ensure the
mode we set for the index is either 100644 or 100755 based on whether
the executable bit is set for the file owner. Do this similarly to how
upstream git does it in cache.h¹.
Add a test covering various file modes to help catch regressions.
Fixes #1253
¹ https://github.com/git/git/blob/v2.31.1/cache.h#L247
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a replace method to git.Commit. The replace method returns a
copy of the Commit object with attributes replaced from keyword
arguments. For example:
>>> old = repo.head.commit
>>> new = old.replace(message='This is a test')
closes #1123
|
|
|
|
|
|
|
| |
The iterator used to yield Commit() objects, which does not play well
with inheritance. Yield cls() instead.
Signed-off-by: Yuri Volchkov <yuri@volch.org>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
In c96476b, the new default_name nested function does not contain a
retun statement. This leads to an issue when the environment variables
are not present, where the actor name would not be set.
Signed-off-by: Athos Ribeiro <athos@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling getpass.getuser may lead to breakage in environments where there
is no entries in the /etc/passwd file for the current user.
Setting the environment variables for the git user configurations should
prevents GitPython from using values from /etc/passwd. However, doing so
will not prevent reading /etc/passwd and looking for an entry with the
current user UID.
This patch changes the behavior described above so GitPython will
perform a lazy evaluation of /etc/passwd, only doing so when the
environment variables for the git user configuration are not available.
Signed-off-by: Athos Ribeiro <athos@redhat.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible to specify a pathspec (eg :!foo) to git diff/status/...
but it currently fails with:
git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
cmdline: /usr/bin/git diff --abbrev=40 --full-index --raw :!foo
stderr: 'fatal: ambiguous argument ':!foo': unknown revision or path not in the working tree.
Add missing '--' to the arguments to fix this ambiguity
Signed-off-by: Arnaud Patard <apatard@hupstream.com>
|
| |
|
| |
|
| |
|