git crashes in `git commit --patch` with diff.suppressBlankEmpty = true
- From
- Ilya Tumaykin <itumaykin@gmail.com>
- Date
- Jul 3, 2024, 14:41 UTC
- Message-ID
- <9b31e86f-c408-4625-8d13-f48a209b541b@gmail.com>
Hello.
`git commit --patch` crashes with diff.suppressBlankEmpty option enabled under certain conditions.
Steps to reproduce: 1. Prepare .gitconfig: [user] name = User email = user@example.com [diff] suppressBlankEmpty = true
2. Initialize repo: $ mkdir git_bug && cd git_bug $ git init $ echo -e 'test\n\n test \n\ntest' > test.txt $ git add test.txt $ git commit test.txt -m 'initial'
3. Make changes: $ echo -e 'test\n\n test\ntest\n \n' > test.txt
4. Try to commit new changes $ git commit --patch test.txt
5. Try to split the first hunk, press 's' in the git-commit interactive interface.
Actual results:
diff --git a/test.txt b/test.txt index 366cd4b..611ca9d 100644 --- a/test.txt +++ b/test.txt @@ -1,5 +1,6 @@ test - test - + test test + + (1/1) Stage this hunk [y,n,q,a,d,s,e,p,?]? s BUG: add-patch.c:994: unhandled diff marker: ' ' Aborted (core dumped) Expected results: git-commit splits the hunk and continues. Comment: If I set diff.suppressBlankEmpty = false, then I get the expected behavior. git --version: 2.45.2 OS: up-to-date Fedora 40
-- Best regards. Ilya Tumaykin.