Hello.
`git commit --patch` crashes with diff.suppressBlankEmpty option enabled
under certain conditions.
Steps to reproduce:
1. Prepare .gitconfig:
[user]
name = User
email = user@xxxxxxxxxxx
[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.