git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/5] t4108: remove git command upstream of pipe

From
Denton Liu <liu.denton@gmail.com>
Date
Oct 23, 2019, 12:03 UTC
Message-ID
<9d915748c1953cc2683fa3189c3c98b1e9a1e299.1571832176.git.liu.denton@gmail.com>
In-Reply-To
<cover.1571832176.git.liu.denton@gmail.com>

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_diff().

Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 t/t4108-apply-threeway.sh | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/t/t4108-apply-threeway.sh b/t/t4108-apply-threeway.sh
index b109ecbd9f..49739ce8b4 100755
--- a/t/t4108-apply-threeway.sh
+++ b/t/t4108-apply-threeway.sh
@@ -4,11 +4,12 @@ test_description='git apply --3way'
 
 . ./test-lib.sh
 
-sanitize_conflicted_diff () {
+print_sanitized_diff () {
+	git diff HEAD >diff.raw &&
 	sed -e '
 		/^index /d
 		s/^\(+[<>][<>][<>][<>]*\) .*/\1/
-	'
+	' diff.raw
 }
 
 test_expect_success setup '
@@ -54,14 +55,14 @@ test_expect_success 'apply with --3way' '
 	git checkout master^0 &&
 	test_must_fail git merge --no-commit side &&
 	git ls-files -s >expect.ls &&
-	git diff HEAD | sanitize_conflicted_diff >expect.diff &&
+	print_sanitized_diff >expect.diff &&
 
 	# should fail to apply
 	git reset --hard &&
 	git checkout master^0 &&
 	test_must_fail git apply --index --3way P.diff &&
 	git ls-files -s >actual.ls &&
-	git diff HEAD | sanitize_conflicted_diff >actual.diff &&
+	print_sanitized_diff >actual.diff &&
 
 	# The result should resemble the corresponding merge
 	test_cmp expect.ls actual.ls &&
@@ -114,7 +115,7 @@ test_expect_success 'apply -3 with add/add conflict setup' '
 	git checkout adder^0 &&
 	test_must_fail git merge --no-commit another &&
 	git ls-files -s >expect.ls &&
-	git diff HEAD | sanitize_conflicted_diff >expect.diff
+	print_sanitized_diff >expect.diff
 '
 
 test_expect_success 'apply -3 with add/add conflict' '
@@ -124,7 +125,7 @@ test_expect_success 'apply -3 with add/add conflict' '
 	test_must_fail git apply --index --3way P.diff &&
 	# ... and leave conflicts in the index and in the working tree
 	git ls-files -s >actual.ls &&
-	git diff HEAD | sanitize_conflicted_diff >actual.diff &&
+	print_sanitized_diff >actual.diff &&
 
 	# The result should resemble the corresponding merge
 	test_cmp expect.ls actual.ls &&
-- 
2.24.0.rc0.197.g0926ab8072
Previous: Denton LiuNext: Eric Sunshine
Message 3 of 16 in “apply: fix merge.conflictStyle bug in --3way”
  1. 0/5 apply: fix merge.conflictStyle bug in --3wayDenton Liu, Oct 23, 2019
  2. 1/5 t4108: replace create_file with test_write_linesDenton Liu, Oct 23, 2019
  3. 2/5 t4108: remove git command upstream of pipeDenton Liu, Oct 23, 2019
  4. Eric SunshineOct 23, 2019
  5. Denton LiuOct 23, 2019
  6. 3/5 t4108: use `test_config` instead of `git config`Denton Liu, Oct 23, 2019
  7. 4/5 t4108: demonstrate bug in applyDenton Liu, Oct 23, 2019
  8. Eric SunshineOct 23, 2019
  9. 5/5 apply: respect merge.conflictStyle in --3wayDenton Liu, Oct 23, 2019
  10. Junio C HamanoOct 24, 2019
  11. 0/5 This fixes a bug where even if `merge.conflictStyle = diff3`, running `git apply --3way` would not output the base.Denton Liu, Oct 23, 2019
  12. 1/5 t4108: replace create_file with test_write_linesDenton Liu, Oct 23, 2019
  13. 2/5 t4108: remove git command upstream of pipeDenton Liu, Oct 23, 2019
  14. 3/5 t4108: use `test_config` instead of `git config`Denton Liu, Oct 23, 2019
  15. 4/5 t4108: demonstrate bug in applyDenton Liu, Oct 23, 2019
  16. 5/5 apply: respect merge.conflictStyle in --3wayDenton Liu, Oct 23, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.