t7610-mergetool: do not place pipelines headed by `yes` in subshells

Subshells for pipelines are not required. This can save a number of processes (if the shell does not optimize it away anyway). The patch was generated with the command sed -i 's/( *\(yes.*[^ ]\) *) *\&\&/\1 \&\&/' t7610-mergetool.sh with a manual fixup of the case having no && at the end. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Sixt committed Jun 10, 2019 at 10:58 UTC b4a04c8f7c4f98dd335dc5ee00059bcd6cfc8b53
1 file changed +85 -85
t/t7610-mergetool.sh
+85 -85
@@ -131,13 +131,13 @@ test_expect_success 'custom mergetool' '
131 git checkout -b test$test_count branch1 &&
132 git submodule update -N &&
133 test_must_fail git merge master &&
134 - ( yes "" | git mergetool both ) &&
135 - ( yes "" | git mergetool file1 file1 ) &&
136 - ( yes "" | git mergetool file2 "spaced name" ) &&
137 - ( yes "" | git mergetool subdir/file3 ) &&
138 - ( yes "d" | git mergetool file11 ) &&
139 - ( yes "d" | git mergetool file12 ) &&
140 - ( yes "l" | git mergetool submod ) &&
134 + yes "" | git mergetool both &&
135 + yes "" | git mergetool file1 file1 &&
136 + yes "" | git mergetool file2 "spaced name" &&
137 + yes "" | git mergetool subdir/file3 &&
138 + yes "d" | git mergetool file11 &&
139 + yes "d" | git mergetool file12 &&
140 + yes "l" | git mergetool submod &&
141 test "$(cat file1)" = "master updated" &&
142 test "$(cat file2)" = "master new" &&
143 test "$(cat subdir/file3)" = "master new sub" &&
@@ -153,13 +153,13 @@ test_expect_success 'gui mergetool' '
153 git checkout -b test$test_count branch1 &&
154 git submodule update -N &&
155 test_must_fail git merge master &&
156 - ( yes "" | git mergetool --gui both ) &&
157 - ( yes "" | git mergetool -g file1 file1 ) &&
158 - ( yes "" | git mergetool --gui file2 "spaced name" ) &&
159 - ( yes "" | git mergetool --gui subdir/file3 ) &&
160 - ( yes "d" | git mergetool --gui file11 ) &&
161 - ( yes "d" | git mergetool --gui file12 ) &&
162 - ( yes "l" | git mergetool --gui submod ) &&
156 + yes "" | git mergetool --gui both &&
157 + yes "" | git mergetool -g file1 file1 &&
158 + yes "" | git mergetool --gui file2 "spaced name" &&
159 + yes "" | git mergetool --gui subdir/file3 &&
160 + yes "d" | git mergetool --gui file11 &&
161 + yes "d" | git mergetool --gui file12 &&
162 + yes "l" | git mergetool --gui submod &&
163 test "$(cat file1)" = "gui master updated" &&
164 test "$(cat file2)" = "gui master new" &&
165 test "$(cat subdir/file3)" = "gui master new sub" &&
@@ -172,13 +172,13 @@ test_expect_success 'gui mergetool without merge.guitool set falls back to merge
172 git checkout -b test$test_count branch1 &&
173 git submodule update -N &&
174 test_must_fail git merge master &&
175 - ( yes "" | git mergetool --gui both ) &&
176 - ( yes "" | git mergetool -g file1 file1 ) &&
177 - ( yes "" | git mergetool --gui file2 "spaced name" ) &&
178 - ( yes "" | git mergetool --gui subdir/file3 ) &&
179 - ( yes "d" | git mergetool --gui file11 ) &&
180 - ( yes "d" | git mergetool --gui file12 ) &&
181 - ( yes "l" | git mergetool --gui submod ) &&
175 + yes "" | git mergetool --gui both &&
176 + yes "" | git mergetool -g file1 file1 &&
177 + yes "" | git mergetool --gui file2 "spaced name" &&
178 + yes "" | git mergetool --gui subdir/file3 &&
179 + yes "d" | git mergetool --gui file11 &&
180 + yes "d" | git mergetool --gui file12 &&
181 + yes "l" | git mergetool --gui submod &&
182 test "$(cat file1)" = "master updated" &&
183 test "$(cat file2)" = "master new" &&
184 test "$(cat subdir/file3)" = "master new sub" &&
@@ -195,14 +195,14 @@ test_expect_success 'mergetool crlf' '
195 test_config core.autocrlf true &&
196 git checkout -b test$test_count branch1 &&
197 test_must_fail git merge master &&
198 - ( yes "" | git mergetool file1 ) &&
199 - ( yes "" | git mergetool file2 ) &&
200 - ( yes "" | git mergetool "spaced name" ) &&
201 - ( yes "" | git mergetool both ) &&
202 - ( yes "" | git mergetool subdir/file3 ) &&
203 - ( yes "d" | git mergetool file11 ) &&
204 - ( yes "d" | git mergetool file12 ) &&
205 - ( yes "r" | git mergetool submod ) &&
198 + yes "" | git mergetool file1 &&
199 + yes "" | git mergetool file2 &&
200 + yes "" | git mergetool "spaced name" &&
201 + yes "" | git mergetool both &&
202 + yes "" | git mergetool subdir/file3 &&
203 + yes "d" | git mergetool file11 &&
204 + yes "d" | git mergetool file12 &&
205 + yes "r" | git mergetool submod &&
206 test "$(printf x | cat file1 -)" = "$(printf "master updated\r\nx")" &&
207 test "$(printf x | cat file2 -)" = "$(printf "master new\r\nx")" &&
208 test "$(printf x | cat subdir/file3 -)" = "$(printf "master new sub\r\nx")" &&
@@ -218,7 +218,7 @@ test_expect_success 'mergetool in subdir' '
218 (
219 cd subdir &&
220 test_must_fail git merge master &&
221 - ( yes "" | git mergetool file3 ) &&
221 + yes "" | git mergetool file3 &&
222 test "$(cat file3)" = "master new sub"
223 )
224 '
@@ -230,13 +230,13 @@ test_expect_success 'mergetool on file in parent dir' '
230 (
231 cd subdir &&
232 test_must_fail git merge master &&
233 - ( yes "" | git mergetool file3 ) &&
234 - ( yes "" | git mergetool ../file1 ) &&
235 - ( yes "" | git mergetool ../file2 ../spaced\ name ) &&
236 - ( yes "" | git mergetool ../both ) &&
237 - ( yes "d" | git mergetool ../file11 ) &&
238 - ( yes "d" | git mergetool ../file12 ) &&
239 - ( yes "l" | git mergetool ../submod ) &&
233 + yes "" | git mergetool file3 &&
234 + yes "" | git mergetool ../file1 &&
235 + yes "" | git mergetool ../file2 ../spaced\ name &&
236 + yes "" | git mergetool ../both &&
237 + yes "d" | git mergetool ../file11 &&
238 + yes "d" | git mergetool ../file12 &&
239 + yes "l" | git mergetool ../submod &&
240 test "$(cat ../file1)" = "master updated" &&
241 test "$(cat ../file2)" = "master new" &&
242 test "$(cat ../submod/bar)" = "branch1 submodule" &&
@@ -250,9 +250,9 @@ test_expect_success 'mergetool skips autoresolved' '
250 git submodule update -N &&
251 test_must_fail git merge master &&
252 test -n "$(git ls-files -u)" &&
253 - ( yes "d" | git mergetool file11 ) &&
254 - ( yes "d" | git mergetool file12 ) &&
255 - ( yes "l" | git mergetool submod ) &&
253 + yes "d" | git mergetool file11 &&
254 + yes "d" | git mergetool file12 &&
255 + yes "l" | git mergetool submod &&
256 output="$(git mergetool --no-prompt)" &&
257 test "$output" = "No files need merging"
258 '
@@ -264,8 +264,8 @@ test_expect_success 'mergetool merges all from subdir (rerere disabled)' '
264 (
265 cd subdir &&
266 test_must_fail git merge master &&
267 - ( yes "r" | git mergetool ../submod ) &&
268 - ( yes "d" "d" | git mergetool --no-prompt ) &&
267 + yes "r" | git mergetool ../submod &&
268 + yes "d" "d" | git mergetool --no-prompt &&
269 test "$(cat ../file1)" = "master updated" &&
270 test "$(cat ../file2)" = "master new" &&
271 test "$(cat file3)" = "master new sub" &&
@@ -283,8 +283,8 @@ test_expect_success 'mergetool merges all from subdir (rerere enabled)' '
283 (
284 cd subdir &&
285 test_must_fail git merge master &&
286 - ( yes "r" | git mergetool ../submod ) &&
287 - ( yes "d" "d" | git mergetool --no-prompt ) &&
286 + yes "r" | git mergetool ../submod &&
287 + yes "d" "d" | git mergetool --no-prompt &&
288 test "$(cat ../file1)" = "master updated" &&
289 test "$(cat ../file2)" = "master new" &&
290 test "$(cat file3)" = "master new sub" &&
@@ -301,8 +301,8 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '
301 git checkout -b test$test_count branch1 &&
302 git submodule update -N &&
303 test_must_fail git merge master &&
304 - ( yes "l" | git mergetool --no-prompt submod ) &&
305 - ( yes "d" "d" | git mergetool --no-prompt ) &&
304 + yes "l" | git mergetool --no-prompt submod &&
305 + yes "d" "d" | git mergetool --no-prompt &&
306 git submodule update -N &&
307 output="$(yes "n" | git mergetool --no-prompt)" &&
308 test "$output" = "No files need merging"
@@ -343,7 +343,7 @@ test_expect_success 'mergetool takes partial path' '
343 git submodule update -N &&
344 test_must_fail git merge master &&
345
346 - ( yes "" | git mergetool subdir ) &&
346 + yes "" | git mergetool subdir &&
347
348 test "$(cat subdir/file3)" = "master new sub"
349 '
@@ -410,10 +410,10 @@ test_expect_success 'deleted vs modified submodule' '
410 git checkout -b test$test_count.a test$test_count &&
411 test_must_fail git merge master &&
412 test -n "$(git ls-files -u)" &&
413 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
414 - ( yes "" | git mergetool both ) &&
415 - ( yes "d" | git mergetool file11 file12 ) &&
416 - ( yes "r" | git mergetool submod ) &&
413 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
414 + yes "" | git mergetool both &&
415 + yes "d" | git mergetool file11 file12 &&
416 + yes "r" | git mergetool submod &&
417 rmdir submod && mv submod-movedaside submod &&
418 test "$(cat submod/bar)" = "branch1 submodule" &&
419 git submodule update -N &&
@@ -427,10 +427,10 @@ test_expect_success 'deleted vs modified submodule' '
427 git submodule update -N &&
428 test_must_fail git merge master &&
429 test -n "$(git ls-files -u)" &&
430 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
431 - ( yes "" | git mergetool both ) &&
432 - ( yes "d" | git mergetool file11 file12 ) &&
433 - ( yes "l" | git mergetool submod ) &&
430 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
431 + yes "" | git mergetool both &&
432 + yes "d" | git mergetool file11 file12 &&
433 + yes "l" | git mergetool submod &&
434 test ! -e submod &&
435 output="$(git mergetool --no-prompt)" &&
436 test "$output" = "No files need merging" &&
@@ -441,10 +441,10 @@ test_expect_success 'deleted vs modified submodule' '
441 git submodule update -N &&
442 test_must_fail git merge test$test_count &&
443 test -n "$(git ls-files -u)" &&
444 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
445 - ( yes "" | git mergetool both ) &&
446 - ( yes "d" | git mergetool file11 file12 ) &&
447 - ( yes "r" | git mergetool submod ) &&
444 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
445 + yes "" | git mergetool both &&
446 + yes "d" | git mergetool file11 file12 &&
447 + yes "r" | git mergetool submod &&
448 test ! -e submod &&
449 test -d submod.orig &&
450 git submodule update -N &&
@@ -457,10 +457,10 @@ test_expect_success 'deleted vs modified submodule' '
457 git submodule update -N &&
458 test_must_fail git merge test$test_count &&
459 test -n "$(git ls-files -u)" &&
460 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
461 - ( yes "" | git mergetool both ) &&
462 - ( yes "d" | git mergetool file11 file12 ) &&
463 - ( yes "l" | git mergetool submod ) &&
460 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
461 + yes "" | git mergetool both &&
462 + yes "d" | git mergetool file11 file12 &&
463 + yes "l" | git mergetool submod &&
464 test "$(cat submod/bar)" = "master submodule" &&
465 git submodule update -N &&
466 test "$(cat submod/bar)" = "master submodule" &&
@@ -481,10 +481,10 @@ test_expect_success 'file vs modified submodule' '
481 git checkout -b test$test_count.a branch1 &&
482 test_must_fail git merge master &&
483 test -n "$(git ls-files -u)" &&
484 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
485 - ( yes "" | git mergetool both ) &&
486 - ( yes "d" | git mergetool file11 file12 ) &&
487 - ( yes "r" | git mergetool submod ) &&
484 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
485 + yes "" | git mergetool both &&
486 + yes "d" | git mergetool file11 file12 &&
487 + yes "r" | git mergetool submod &&
488 rmdir submod && mv submod-movedaside submod &&
489 test "$(cat submod/bar)" = "branch1 submodule" &&
490 git submodule update -N &&
@@ -497,10 +497,10 @@ test_expect_success 'file vs modified submodule' '
497 git checkout -b test$test_count.b test$test_count &&
498 test_must_fail git merge master &&
499 test -n "$(git ls-files -u)" &&
500 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
501 - ( yes "" | git mergetool both ) &&
502 - ( yes "d" | git mergetool file11 file12 ) &&
503 - ( yes "l" | git mergetool submod ) &&
500 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
501 + yes "" | git mergetool both &&
502 + yes "d" | git mergetool file11 file12 &&
503 + yes "l" | git mergetool submod &&
504 git submodule update -N &&
505 test "$(cat submod)" = "not a submodule" &&
506 output="$(git mergetool --no-prompt)" &&
@@ -513,10 +513,10 @@ test_expect_success 'file vs modified submodule' '
513 git submodule update -N &&
514 test_must_fail git merge test$test_count &&
515 test -n "$(git ls-files -u)" &&
516 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
517 - ( yes "" | git mergetool both ) &&
518 - ( yes "d" | git mergetool file11 file12 ) &&
519 - ( yes "r" | git mergetool submod ) &&
516 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
517 + yes "" | git mergetool both &&
518 + yes "d" | git mergetool file11 file12 &&
519 + yes "r" | git mergetool submod &&
520 test -d submod.orig &&
521 git submodule update -N &&
522 test "$(cat submod)" = "not a submodule" &&
@@ -529,10 +529,10 @@ test_expect_success 'file vs modified submodule' '
529 git submodule update -N &&
530 test_must_fail git merge test$test_count &&
531 test -n "$(git ls-files -u)" &&
532 - ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 ) &&
533 - ( yes "" | git mergetool both ) &&
534 - ( yes "d" | git mergetool file11 file12 ) &&
535 - ( yes "l" | git mergetool submod ) &&
532 + yes "" | git mergetool file1 file2 spaced\ name subdir/file3 &&
533 + yes "" | git mergetool both &&
534 + yes "d" | git mergetool file11 file12 &&
535 + yes "l" | git mergetool submod &&
536 test "$(cat submod/bar)" = "master submodule" &&
537 git submodule update -N &&
538 test "$(cat submod/bar)" = "master submodule" &&
@@ -587,7 +587,7 @@ test_expect_success 'submodule in subdirectory' '
587 test_must_fail git merge test$test_count.a &&
588 (
589 cd subdir &&
590 - ( yes "l" | git mergetool subdir_module )
590 + yes "l" | git mergetool subdir_module
591 ) &&
592 test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" &&
593 git submodule update -N &&
@@ -596,7 +596,7 @@ test_expect_success 'submodule in subdirectory' '
596 git submodule update -N &&
597
598 test_must_fail git merge test$test_count.a &&
599 - ( yes "r" | git mergetool subdir/subdir_module ) &&
599 + yes "r" | git mergetool subdir/subdir_module &&
600 test "$(cat subdir/subdir_module/file15)" = "test$test_count.b" &&
601 git submodule update -N &&
602 test "$(cat subdir/subdir_module/file15)" = "test$test_count.a" &&
@@ -615,7 +615,7 @@ test_expect_success 'directory vs modified submodule' '
615
616 test_must_fail git merge master &&
617 test -n "$(git ls-files -u)" &&
618 - ( yes "l" | git mergetool submod ) &&
618 + yes "l" | git mergetool submod &&
619 test "$(cat submod/file16)" = "not a submodule" &&
620 rm -rf submod.orig &&
621
@@ -623,7 +623,7 @@ test_expect_success 'directory vs modified submodule' '
623 test_must_fail git merge master &&
624 test -n "$(git ls-files -u)" &&
625 test ! -e submod.orig &&
626 - ( yes "r" | git mergetool submod ) &&
626 + yes "r" | git mergetool submod &&
627 test -d submod.orig &&
628 test "$(cat submod.orig/file16)" = "not a submodule" &&
629 rm -r submod.orig &&
@@ -638,7 +638,7 @@ test_expect_success 'directory vs modified submodule' '
638 git submodule update -N &&
639 test_must_fail git merge test$test_count &&
640 test -n "$(git ls-files -u)" &&
641 - ( yes "l" | git mergetool submod ) &&
641 + yes "l" | git mergetool submod &&
642 git submodule update -N &&
643 test "$(cat submod/bar)" = "master submodule" &&
644
@@ -647,7 +647,7 @@ test_expect_success 'directory vs modified submodule' '
647 test_must_fail git merge test$test_count &&
648 test -n "$(git ls-files -u)" &&
649 test ! -e submod.orig &&
650 - ( yes "r" | git mergetool submod ) &&
650 + yes "r" | git mergetool submod &&
651 test "$(cat submod/file16)" = "not a submodule" &&
652
653 git reset --hard master &&