Merge branch 'pw/add-p-recount'
When user edits the patch in "git add -p" and the user's editor is set to strip trailing whitespaces indiscriminately, an empty line that is unchanged in the patch would become completely empty (instead of a line with a sole SP on it). The code introduced in Git 2.17 timeframe failed to parse such a patch, but now it learned to notice the situation and cope with it. * pw/add-p-recount: add -p: fix counting empty context lines in edited patches
This commit is contained in:
commit
5eb8da8508
@ -1062,7 +1062,7 @@ sub recount_edited_hunk {
|
||||
$o_cnt++;
|
||||
} elsif ($mode eq '+') {
|
||||
$n_cnt++;
|
||||
} elsif ($mode eq ' ') {
|
||||
} elsif ($mode eq ' ' or $mode eq "\n") {
|
||||
$o_cnt++;
|
||||
$n_cnt++;
|
||||
}
|
||||
|
@ -175,6 +175,49 @@ test_expect_success 'real edit works' '
|
||||
diff_cmp expected output
|
||||
'
|
||||
|
||||
test_expect_success 'setup file' '
|
||||
test_write_lines a "" b "" c >file &&
|
||||
git add file &&
|
||||
test_write_lines a "" d "" c >file
|
||||
'
|
||||
|
||||
test_expect_success 'setup patch' '
|
||||
SP=" " &&
|
||||
NULL="" &&
|
||||
cat >patch <<-EOF
|
||||
@@ -1,4 +1,4 @@
|
||||
a
|
||||
$NULL
|
||||
-b
|
||||
+f
|
||||
$SP
|
||||
c
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'setup expected' '
|
||||
cat >expected <<-EOF
|
||||
diff --git a/file b/file
|
||||
index b5dd6c9..f910ae9 100644
|
||||
--- a/file
|
||||
+++ b/file
|
||||
@@ -1,5 +1,5 @@
|
||||
a
|
||||
$SP
|
||||
-f
|
||||
+d
|
||||
$SP
|
||||
c
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'edit can strip spaces from empty context lines' '
|
||||
test_write_lines e n q | git add -p 2>error &&
|
||||
test_must_be_empty error &&
|
||||
git diff >output &&
|
||||
diff_cmp expected output
|
||||
'
|
||||
|
||||
test_expect_success 'skip files similarly as commit -a' '
|
||||
git reset &&
|
||||
echo file >.gitignore &&
|
||||
|
Loading…
Reference in New Issue
Block a user