@matheusbsbs / matheus-bagliano / commits / b0069684d4
Fork 0

t4108: remove git command upstream of pipe

Before, the output of `git diff HEAD` would always be piped to sanitize_conflicted_diff(). However, since the Git command was upstream of the pipe, in case the Git command fails, the return code would be lost. Rewrite into separate statements so that the return code is no longer lost. Since only the command `git diff HEAD` was being piped to sanitize_conflicted_diff(), move the command into the function and rename it to print_sanitized_conflicted_diff(). Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Denton Liu committed Oct 23, 2019 at 16:32 UTC b0069684d430ea67fd3fbe019c71a18d4ef87fa3
1 file changed +7 -6
t/t4108-apply-threeway.sh
+7 -6
@@ -4,11 +4,12 @@ test_description='git apply --3way'
4
5 . ./test-lib.sh
6
7 -sanitize_conflicted_diff () {
7 +print_sanitized_conflicted_diff () {
8 + git diff HEAD >diff.raw &&
9 sed -e '
10 /^index /d
11 s/^\(+[<>][<>][<>][<>]*\) .*/\1/
11 - '
12 + ' diff.raw
13 }
14
15 test_expect_success setup '
@@ -54,14 +55,14 @@ test_expect_success 'apply with --3way' '
55 git checkout master^0 &&
56 test_must_fail git merge --no-commit side &&
57 git ls-files -s >expect.ls &&
57 - git diff HEAD | sanitize_conflicted_diff >expect.diff &&
58 + print_sanitized_conflicted_diff >expect.diff &&
59
60 # should fail to apply
61 git reset --hard &&
62 git checkout master^0 &&
63 test_must_fail git apply --index --3way P.diff &&
64 git ls-files -s >actual.ls &&
64 - git diff HEAD | sanitize_conflicted_diff >actual.diff &&
65 + print_sanitized_conflicted_diff >actual.diff &&
66
67 # The result should resemble the corresponding merge
68 test_cmp expect.ls actual.ls &&
@@ -114,7 +115,7 @@ test_expect_success 'apply -3 with add/add conflict setup' '
115 git checkout adder^0 &&
116 test_must_fail git merge --no-commit another &&
117 git ls-files -s >expect.ls &&
117 - git diff HEAD | sanitize_conflicted_diff >expect.diff
118 + print_sanitized_conflicted_diff >expect.diff
119 '
120
121 test_expect_success 'apply -3 with add/add conflict' '
@@ -124,7 +125,7 @@ test_expect_success 'apply -3 with add/add conflict' '
125 test_must_fail git apply --index --3way P.diff &&
126 # ... and leave conflicts in the index and in the working tree
127 git ls-files -s >actual.ls &&
127 - git diff HEAD | sanitize_conflicted_diff >actual.diff &&
128 + print_sanitized_conflicted_diff >actual.diff &&
129
130 # The result should resemble the corresponding merge
131 test_cmp expect.ls actual.ls &&