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 &&