Git fork

tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithm

Both of these existed to allow us to reuse all the merge-related tests
in the testsuite while easily flipping between the 'recursive' and the
'ort' backends. Now that we have removed merge-recursive and remapped
'recursive' to mean 'ort', we don't need this scaffolding anymore.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Elijah Newren and committed by
Junio C Hamano
bfbd201e ad45b327

+236 -862
-1
ci/run-build-and-tests.sh
··· 20 20 linux-TEST-vars) 21 21 export OPENSSL_SHA1_UNSAFE=YesPlease 22 22 export GIT_TEST_SPLIT_INDEX=yes 23 - export GIT_TEST_MERGE_ALGORITHM=recursive 24 23 export GIT_TEST_FULL_IN_PACK_ARRAY=true 25 24 export GIT_TEST_OE_SIZE=10 26 25 export GIT_TEST_OE_DELTA_SIZE=5
-13
t/lib-merge.sh
··· 1 - # Helper functions used by merge tests. 2 - 3 - test_expect_merge_algorithm () { 4 - status_for_recursive=$1 status_for_ort=$2 5 - shift 2 6 - 7 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 8 - then 9 - test_expect_${status_for_ort} "$@" 10 - else 11 - test_expect_${status_for_recursive} "$@" 12 - fi 13 - }
-2
t/t1092-sparse-checkout-compatibility.sh
··· 1486 1486 ensure_not_expanded checkout -f update-deep && 1487 1487 test_config -C sparse-index pull.twohead ort && 1488 1488 ( 1489 - sane_unset GIT_TEST_MERGE_ALGORITHM && 1490 1489 for OPERATION in "merge -m merge" cherry-pick rebase 1491 1490 do 1492 1491 ensure_not_expanded merge -m merge update-folder1 && ··· 1506 1505 done && 1507 1506 1508 1507 ( 1509 - sane_unset GIT_TEST_MERGE_ALGORITHM && 1510 1508 git -C sparse-index config pull.twohead ort && 1511 1509 ensure_not_expanded ! merge -m merged expand-right 1512 1510 )
-2
t/t2501-cwd-empty.sh
··· 117 117 grep "Refusing to remove the current working directory" error 118 118 ' 119 119 120 - GIT_TEST_MERGE_ALGORITHM=ort 121 - 122 120 test_expect_success 'merge fails if cwd needs to be removed' ' 123 121 test_required_dir_removal git merge fd_conflict 124 122 '
-5
t/t3512-cherry-pick-submodule.sh
··· 8 8 . ./test-lib.sh 9 9 . "$TEST_DIRECTORY"/lib-submodule-update.sh 10 10 11 - if test "$GIT_TEST_MERGE_ALGORITHM" != ort 12 - then 13 - KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 14 - KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1 15 - fi 16 11 test_submodule_switch "cherry-pick" 17 12 18 13 test_expect_success 'unrelated submodule/file conflict is ignored' '
-4
t/t3513-revert-submodule.sh
··· 30 30 git revert HEAD 31 31 } 32 32 33 - if test "$GIT_TEST_MERGE_ALGORITHM" != ort 34 - then 35 - KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 36 - fi 37 33 test_submodule_switch_func "git_revert" 38 34 39 35 test_done
-7
t/t4069-remerge-diff.sh
··· 4 4 5 5 . ./test-lib.sh 6 6 7 - # This test is ort-specific 8 - if test "${GIT_TEST_MERGE_ALGORITHM}" != ort 9 - then 10 - skip_all="GIT_TEST_MERGE_ALGORITHM != ort" 11 - test_done 12 - fi 13 - 14 7 test_expect_success 'setup basic merges' ' 15 8 test_write_lines 1 2 3 4 5 6 7 8 9 >numbers && 16 9 git add numbers &&
-7
t/t4301-merge-tree-write-tree.sh
··· 4 4 5 5 . ./test-lib.sh 6 6 7 - # This test is ort-specific 8 - if test "$GIT_TEST_MERGE_ALGORITHM" != "ort" 9 - then 10 - skip_all="GIT_TEST_MERGE_ALGORITHM != ort" 11 - test_done 12 - fi 13 - 14 7 test_expect_success setup ' 15 8 test_write_lines 1 2 3 4 5 >numbers && 16 9 echo hello >greeting &&
-5
t/t5572-pull-submodule.sh
··· 45 45 $2 git pull --no-ff 46 46 } 47 47 48 - if test "$GIT_TEST_MERGE_ALGORITHM" != ort 49 - then 50 - KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 51 - KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1 52 - fi 53 48 test_submodule_switch_func "git_pull_noff" 54 49 55 50 test_expect_success 'setup' '
+2 -12
t/t6400-merge-df.sh
··· 84 84 85 85 test_stdout_line_count = 5 git ls-files -s && 86 86 test_stdout_line_count = 4 git ls-files -u && 87 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 88 - then 89 - test_stdout_line_count = 0 git ls-files -o 90 - else 91 - test_stdout_line_count = 1 git ls-files -o 92 - fi && 87 + test_stdout_line_count = 0 git ls-files -o && 93 88 94 89 test_path_is_file letters/file && 95 90 test_path_is_file letters.txt && ··· 105 100 106 101 test_stdout_line_count = 5 git ls-files -s && 107 102 test_stdout_line_count = 4 git ls-files -u && 108 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 109 - then 110 - test_stdout_line_count = 0 git ls-files -o 111 - else 112 - test_stdout_line_count = 1 git ls-files -o 113 - fi && 103 + test_stdout_line_count = 0 git ls-files -o && 114 104 115 105 test_path_is_file letters/file && 116 106 test_path_is_file letters.txt &&
+28 -97
t/t6402-merge-rename.sh
··· 313 313 314 314 test_grep "CONFLICT (modify/delete): dir/file-in-the-way" output && 315 315 test_grep "Auto-merging dir" output && 316 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 317 - then 318 - test_grep "moving it to dir~HEAD instead" output 319 - else 320 - test_grep "Adding as dir~HEAD instead" output 321 - fi && 316 + test_grep "moving it to dir~HEAD instead" output && 322 317 323 318 test_stdout_line_count = 3 git ls-files -u && 324 319 test_stdout_line_count = 2 git ls-files -u dir/file-in-the-way && ··· 340 335 ! grep "error: refusing to lose untracked file at" errors && 341 336 test_grep "CONFLICT (modify/delete): dir/file-in-the-way" output && 342 337 test_grep "Auto-merging dir" output && 343 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 344 - then 345 - test_grep "moving it to dir~renamed-file-has-no-conflicts instead" output 346 - else 347 - test_grep "Adding as dir~renamed-file-has-no-conflicts instead" output 348 - fi && 338 + test_grep "moving it to dir~renamed-file-has-no-conflicts instead" output && 349 339 350 340 test_stdout_line_count = 3 git ls-files -u && 351 341 test_stdout_line_count = 2 git ls-files -u dir/file-in-the-way && ··· 400 390 test_must_fail git merge --strategy=recursive dir-in-way && 401 391 402 392 test_stdout_line_count = 5 git ls-files -u && 403 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 404 - then 405 - test_stdout_line_count = 3 git ls-files -u dir~HEAD 406 - else 407 - git ls-files -u dir >out && 408 - test 3 -eq $(grep -v file-in-the-way out | wc -l) && 409 - rm -f out 410 - fi && 393 + test_stdout_line_count = 3 git ls-files -u dir~HEAD && 411 394 test_stdout_line_count = 2 git ls-files -u dir/file-in-the-way && 412 395 413 396 test_must_fail git diff --quiet && ··· 425 408 test_must_fail git merge --strategy=recursive renamed-file-has-conflicts && 426 409 427 410 test_stdout_line_count = 5 git ls-files -u && 428 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 429 - then 430 - test_stdout_line_count = 3 git ls-files -u dir~renamed-file-has-conflicts 431 - else 432 - git ls-files -u dir >out && 433 - test 3 -eq $(grep -v file-in-the-way out | wc -l) && 434 - rm -f out 435 - fi && 411 + test_stdout_line_count = 3 git ls-files -u dir~renamed-file-has-conflicts && 436 412 test_stdout_line_count = 2 git ls-files -u dir/file-in-the-way && 437 413 438 414 test_must_fail git diff --quiet && ··· 488 464 git checkout -q rename-dest^0 && 489 465 test_must_fail git merge --strategy=recursive source-conflict && 490 466 491 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 492 - then 493 - test_stdout_line_count = 2 git ls-files -u 494 - else 495 - test_stdout_line_count = 1 git ls-files -u 496 - fi && 467 + test_stdout_line_count = 2 git ls-files -u && 497 468 498 469 test_must_fail git diff --quiet && 499 470 ··· 527 498 git commit -m "Rename one/file -> two" 528 499 ' 529 500 530 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 531 - then 532 - test_expect_success 'pair rename to parent of other (D/F conflicts) w/ untracked dir' ' 533 - git checkout -q rename-one^0 && 534 - mkdir one && 535 - test_must_fail git merge --strategy=recursive rename-two && 501 + test_expect_success 'pair rename to parent of other (D/F conflicts) w/ untracked dir' ' 502 + git checkout -q rename-one^0 && 503 + mkdir one && 504 + test_must_fail git merge --strategy=recursive rename-two && 536 505 537 - test_stdout_line_count = 4 git ls-files -u && 538 - test_stdout_line_count = 2 git ls-files -u one && 539 - test_stdout_line_count = 2 git ls-files -u two && 506 + test_stdout_line_count = 4 git ls-files -u && 507 + test_stdout_line_count = 2 git ls-files -u one && 508 + test_stdout_line_count = 2 git ls-files -u two && 540 509 541 - test_must_fail git diff --quiet && 510 + test_must_fail git diff --quiet && 542 511 543 - test 3 -eq $(find . | grep -v .git | wc -l) && 512 + test 3 -eq $(find . | grep -v .git | wc -l) && 544 513 545 - test_path_is_file one && 546 - test_path_is_file two && 547 - test "other" = $(cat one) && 548 - test "stuff" = $(cat two) 549 - ' 550 - else 551 - test_expect_success 'pair rename to parent of other (D/F conflicts) w/ untracked dir' ' 552 - git checkout -q rename-one^0 && 553 - mkdir one && 554 - test_must_fail git merge --strategy=recursive rename-two && 555 - 556 - test_stdout_line_count = 2 git ls-files -u && 557 - test_stdout_line_count = 1 git ls-files -u one && 558 - test_stdout_line_count = 1 git ls-files -u two && 559 - 560 - test_must_fail git diff --quiet && 561 - 562 - test 4 -eq $(find . | grep -v .git | wc -l) && 563 - 564 - test_path_is_dir one && 565 - test_path_is_file one~rename-two && 566 - test_path_is_file two && 567 - test "other" = $(cat one~rename-two) && 568 - test "stuff" = $(cat two) 569 - ' 570 - fi 514 + test_path_is_file one && 515 + test_path_is_file two && 516 + test "other" = $(cat one) && 517 + test "stuff" = $(cat two) 518 + ' 571 519 572 520 test_expect_success 'pair rename to parent of other (D/F conflicts) w/ clean start' ' 573 521 git reset --hard && 574 522 git clean -fdqx && 575 523 test_must_fail git merge --strategy=recursive rename-two && 576 524 577 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 578 - then 579 - test_stdout_line_count = 4 git ls-files -u && 580 - test_stdout_line_count = 2 git ls-files -u one && 581 - test_stdout_line_count = 2 git ls-files -u two 582 - else 583 - test_stdout_line_count = 2 git ls-files -u && 584 - test_stdout_line_count = 1 git ls-files -u one && 585 - test_stdout_line_count = 1 git ls-files -u two 586 - fi && 525 + test_stdout_line_count = 4 git ls-files -u && 526 + test_stdout_line_count = 2 git ls-files -u one && 527 + test_stdout_line_count = 2 git ls-files -u two && 587 528 588 529 test_must_fail git diff --quiet && 589 530 ··· 623 564 git checkout -q first-rename^0 && 624 565 test_must_fail git merge --strategy=recursive second-rename && 625 566 626 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 627 - then 628 - test_stdout_line_count = 5 git ls-files -s && 629 - test_stdout_line_count = 3 git ls-files -u && 630 - test_stdout_line_count = 1 git ls-files -u one~HEAD && 631 - test_stdout_line_count = 1 git ls-files -u two~second-rename && 632 - test_stdout_line_count = 1 git ls-files -u original && 633 - test_stdout_line_count = 0 git ls-files -o 634 - else 635 - test_stdout_line_count = 5 git ls-files -s && 636 - test_stdout_line_count = 3 git ls-files -u && 637 - test_stdout_line_count = 1 git ls-files -u one && 638 - test_stdout_line_count = 1 git ls-files -u two && 639 - test_stdout_line_count = 1 git ls-files -u original && 640 - test_stdout_line_count = 2 git ls-files -o 641 - fi && 567 + test_stdout_line_count = 5 git ls-files -s && 568 + test_stdout_line_count = 3 git ls-files -u && 569 + test_stdout_line_count = 1 git ls-files -u one~HEAD && 570 + test_stdout_line_count = 1 git ls-files -u two~second-rename && 571 + test_stdout_line_count = 1 git ls-files -u original && 572 + test_stdout_line_count = 0 git ls-files -o && 642 573 643 574 test_path_is_file one/file && 644 575 test_path_is_file two/file &&
+3 -18
t/t6404-recursive-merge.sh
··· 108 108 printf "\0\0" >binary-file && 109 109 git add binary-file && 110 110 git commit -m binary2 && 111 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 112 - then 113 - test_must_fail git merge F >merge_output 114 - else 115 - test_must_fail git merge F 2>merge_output 116 - fi && 111 + test_must_fail git merge F >merge_output && 117 112 grep "Cannot merge binary files: binary-file (HEAD vs. F)" merge_output 118 113 ' 119 114 ··· 129 124 test_tick && 130 125 git commit -m rename && 131 126 test_must_fail git merge delete && 132 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 133 - then 134 - test 2 = $(git ls-files --unmerged | wc -l) 135 - else 136 - test 1 = $(git ls-files --unmerged | wc -l) 137 - fi && 127 + test 2 = $(git ls-files --unmerged | wc -l) && 138 128 git rev-parse --verify :2:a2 && 139 129 test_must_fail git rev-parse --verify :3:a2 && 140 130 git checkout -f delete && 141 131 test_must_fail git merge rename && 142 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 143 - then 144 - test 2 = $(git ls-files --unmerged | wc -l) 145 - else 146 - test 1 = $(git ls-files --unmerged | wc -l) 147 - fi && 132 + test 2 = $(git ls-files --unmerged | wc -l) && 148 133 test_must_fail git rev-parse --verify :2:a2 && 149 134 git rev-parse --verify :3:a2 150 135 '
+1 -6
t/t6406-merge-attr.sh
··· 259 259 printf "two\0" >bin.txt && 260 260 git commit -am two && 261 261 262 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 263 - then 264 - test_must_fail git merge bin-main >output 265 - else 266 - test_must_fail git merge bin-main 2>output 267 - fi && 262 + test_must_fail git merge bin-main >output && 268 263 grep -i "warning.*cannot merge.*HEAD vs. bin-main" output 269 264 ' 270 265
+51 -135
t/t6416-recursive-corner-cases.sh
··· 6 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 7 8 8 . ./test-lib.sh 9 - . "$TEST_DIRECTORY"/lib-merge.sh 10 9 11 10 # 12 11 # L1 L2 ··· 529 528 530 529 git checkout B^0 && 531 530 test_must_fail git merge C^0 && 532 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 533 - then 534 - git rm -rf a/ && 535 - git rm a~HEAD 536 - else 537 - git clean -fd && 538 - git rm -rf a/ && 539 - git rm a 540 - fi && 531 + git rm -rf a/ && 532 + git rm a~HEAD && 541 533 git cat-file -p B:a >a2 && 542 534 git add a2 && 543 535 git commit -m D2 && ··· 556 548 557 549 git checkout C^0 && 558 550 test_must_fail git merge B^0 && 559 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 560 - then 561 - git rm a~B^0 562 - else 563 - git clean -fd 564 - fi && 551 + git rm a~B^0 && 565 552 git rm -rf a/ && 566 553 test_write_lines 1 2 3 4 5 6 7 8 >a && 567 554 git add a && ··· 570 557 571 558 git checkout C^0 && 572 559 test_must_fail git merge B^0 && 573 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 574 - then 575 - git rm -rf a/ && 576 - git rm a~B^0 577 - else 578 - git clean -fd && 579 - git rm -rf a/ && 580 - git rm a 581 - fi && 560 + git rm -rf a/ && 561 + git rm a~B^0 && 582 562 test_write_lines 1 2 3 4 5 6 7 8 >a2 && 583 563 git add a2 && 584 564 git commit -m E4 && ··· 596 576 597 577 test_must_fail git merge -s recursive E1^0 && 598 578 599 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 600 - then 601 - git ls-files -s >out && 602 - test_line_count = 3 out && 603 - git ls-files -u >out && 604 - test_line_count = 2 out && 605 - git ls-files -o >out && 606 - test_line_count = 1 out && 607 - 608 - git rev-parse >expect \ 609 - A:ignore-me B:a D1:a && 610 - git rev-parse >actual \ 611 - :0:ignore-me :1:a :2:a && 612 - test_cmp expect actual 613 - else 614 - git ls-files -s >out && 615 - test_line_count = 2 out && 616 - git ls-files -u >out && 617 - test_line_count = 1 out && 618 - git ls-files -o >out && 619 - test_line_count = 1 out && 579 + git ls-files -s >out && 580 + test_line_count = 3 out && 581 + git ls-files -u >out && 582 + test_line_count = 2 out && 583 + git ls-files -o >out && 584 + test_line_count = 1 out && 620 585 621 - git rev-parse >expect \ 622 - A:ignore-me B:a && 623 - git rev-parse >actual \ 624 - :0:ignore-me :2:a && 625 - test_cmp expect actual 626 - fi 586 + git rev-parse >expect A:ignore-me B:a D1:a && 587 + git rev-parse >actual :0:ignore-me :1:a :2:a && 588 + test_cmp expect actual 627 589 ) 628 590 ' 629 591 ··· 637 599 638 600 test_must_fail git merge -s recursive D1^0 && 639 601 640 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 641 - then 642 - git ls-files -s >out && 643 - test_line_count = 3 out && 644 - git ls-files -u >out && 645 - test_line_count = 2 out && 646 - git ls-files -o >out && 647 - test_line_count = 1 out && 648 - 649 - git rev-parse >expect \ 650 - A:ignore-me B:a D1:a && 651 - git rev-parse >actual \ 652 - :0:ignore-me :1:a :3:a && 653 - test_cmp expect actual 654 - else 655 - git ls-files -s >out && 656 - test_line_count = 2 out && 657 - git ls-files -u >out && 658 - test_line_count = 1 out && 659 - git ls-files -o >out && 660 - test_line_count = 1 out && 602 + git ls-files -s >out && 603 + test_line_count = 3 out && 604 + git ls-files -u >out && 605 + test_line_count = 2 out && 606 + git ls-files -o >out && 607 + test_line_count = 1 out && 661 608 662 - git rev-parse >expect \ 663 - A:ignore-me B:a && 664 - git rev-parse >actual \ 665 - :0:ignore-me :3:a && 666 - test_cmp expect actual 667 - fi 609 + git rev-parse >expect \ 610 + A:ignore-me B:a D1:a && 611 + git rev-parse >actual \ 612 + :0:ignore-me :1:a :3:a && 613 + test_cmp expect actual 668 614 ) 669 615 ' 670 616 ··· 678 624 679 625 test_must_fail git merge -s recursive E2^0 && 680 626 681 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 682 - then 683 - git ls-files -s >out && 684 - test_line_count = 5 out && 685 - git ls-files -u >out && 686 - test_line_count = 4 out && 687 - git ls-files -o >out && 688 - test_line_count = 1 out && 627 + git ls-files -s >out && 628 + test_line_count = 5 out && 629 + git ls-files -u >out && 630 + test_line_count = 4 out && 631 + git ls-files -o >out && 632 + test_line_count = 1 out && 689 633 690 - git rev-parse >expect \ 691 - B:a D1:a E2:a/file C:a/file A:ignore-me && 692 - git rev-parse >actual \ 693 - :1:a~HEAD :2:a~HEAD :3:a/file :1:a/file :0:ignore-me 694 - else 695 - git ls-files -s >out && 696 - test_line_count = 4 out && 697 - git ls-files -u >out && 698 - test_line_count = 3 out && 699 - git ls-files -o >out && 700 - test_line_count = 2 out && 701 - 702 - git rev-parse >expect \ 703 - B:a E2:a/file C:a/file A:ignore-me && 704 - git rev-parse >actual \ 705 - :2:a :3:a/file :1:a/file :0:ignore-me 706 - fi && 634 + git rev-parse >expect \ 635 + B:a D1:a E2:a/file C:a/file A:ignore-me && 636 + git rev-parse >actual \ 637 + :1:a~HEAD :2:a~HEAD :3:a/file :1:a/file :0:ignore-me && 707 638 test_cmp expect actual && 708 639 709 640 test_path_is_file a~HEAD ··· 720 651 721 652 test_must_fail git merge -s recursive D1^0 && 722 653 723 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 724 - then 725 - git ls-files -s >out && 726 - test_line_count = 5 out && 727 - git ls-files -u >out && 728 - test_line_count = 4 out && 729 - git ls-files -o >out && 730 - test_line_count = 1 out && 731 - 732 - git rev-parse >expect \ 733 - B:a D1:a E2:a/file C:a/file A:ignore-me && 734 - git rev-parse >actual \ 735 - :1:a~D1^0 :3:a~D1^0 :2:a/file :1:a/file :0:ignore-me 736 - else 737 - git ls-files -s >out && 738 - test_line_count = 4 out && 739 - git ls-files -u >out && 740 - test_line_count = 3 out && 741 - git ls-files -o >out && 742 - test_line_count = 2 out && 654 + git ls-files -s >out && 655 + test_line_count = 5 out && 656 + git ls-files -u >out && 657 + test_line_count = 4 out && 658 + git ls-files -o >out && 659 + test_line_count = 1 out && 743 660 744 - git rev-parse >expect \ 745 - B:a E2:a/file C:a/file A:ignore-me && 746 - git rev-parse >actual \ 747 - :3:a :2:a/file :1:a/file :0:ignore-me 748 - fi && 661 + git rev-parse >expect \ 662 + B:a D1:a E2:a/file C:a/file A:ignore-me && 663 + git rev-parse >actual \ 664 + :1:a~D1^0 :3:a~D1^0 :2:a/file :1:a/file :0:ignore-me && 749 665 test_cmp expect actual && 750 666 751 667 test_path_is_file a~D1^0 ··· 777 693 ) 778 694 ' 779 695 780 - test_expect_merge_algorithm failure success 'merge of D1 & E4 puts merge of a and a2 in both a and a2' ' 696 + test_expect_success 'merge of D1 & E4 puts merge of a and a2 in both a and a2' ' 781 697 test_when_finished "git -C directory-file reset --hard" && 782 698 test_when_finished "git -C directory-file clean -fdqx" && 783 699 ( ··· 1140 1056 ) 1141 1057 ' 1142 1058 1143 - test_expect_merge_algorithm failure success 'check symlink modify/modify' ' 1059 + test_expect_success 'check symlink modify/modify' ' 1144 1060 ( 1145 1061 cd symlink-modify-modify && 1146 1062 ··· 1206 1122 ) 1207 1123 ' 1208 1124 1209 - test_expect_merge_algorithm failure success 'check symlink add/add' ' 1125 + test_expect_success 'check symlink add/add' ' 1210 1126 ( 1211 1127 cd symlink-add-add && 1212 1128 ··· 1294 1210 ) 1295 1211 ' 1296 1212 1297 - test_expect_merge_algorithm failure success 'check submodule modify/modify' ' 1213 + test_expect_success 'check submodule modify/modify' ' 1298 1214 ( 1299 1215 cd submodule-modify-modify && 1300 1216 ··· 1382 1298 ) 1383 1299 ' 1384 1300 1385 - test_expect_merge_algorithm failure success 'check submodule add/add' ' 1301 + test_expect_success 'check submodule add/add' ' 1386 1302 ( 1387 1303 cd submodule-add-add && 1388 1304 ··· 1457 1373 ) 1458 1374 ' 1459 1375 1460 - test_expect_merge_algorithm failure success 'check conflicting entry types (submodule vs symlink)' ' 1376 + test_expect_success 'check conflicting entry types (submodule vs symlink)' ' 1461 1377 ( 1462 1378 cd submodule-symlink-add-add && 1463 1379
+3 -4
t/t6421-merge-partial-clone.sh
··· 27 27 # files that might be renamed into each other's paths.) 28 28 29 29 . ./test-lib.sh 30 - . "$TEST_DIRECTORY"/lib-merge.sh 31 30 32 31 test_setup_repo () { 33 32 test -d server && return ··· 207 206 # 208 207 # Summary: 2 fetches (1 for 2 objects, 1 for 1 object) 209 208 # 210 - test_expect_merge_algorithm failure success 'Objects downloaded for single relevant rename' ' 209 + test_expect_success 'Objects downloaded for single relevant rename' ' 211 210 test_setup_repo && 212 211 git clone --sparse --filter=blob:none "file://$(pwd)/server" objects-single && 213 212 ( ··· 297 296 # this are not all that common.) 298 297 # Summary: 1 fetches for 6 objects 299 298 # 300 - test_expect_merge_algorithm failure success 'Objects downloaded when a directory rename triggered' ' 299 + test_expect_success 'Objects downloaded when a directory rename triggered' ' 301 300 test_setup_repo && 302 301 git clone --sparse --filter=blob:none "file://$(pwd)/server" objects-dir && 303 302 ( ··· 399 398 # 400 399 # Summary: 4 fetches (1 for 6 objects, 1 for 8, 1 for 3, 1 for 2) 401 400 # 402 - test_expect_merge_algorithm failure success 'Objects downloaded with lots of renames and modifications' ' 401 + test_expect_success 'Objects downloaded with lots of renames and modifications' ' 403 402 test_setup_repo && 404 403 git clone --sparse --filter=blob:none "file://$(pwd)/server" objects-many && 405 404 (
+7 -24
t/t6422-merge-rename-corner-cases.sh
··· 7 7 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 8 8 9 9 . ./test-lib.sh 10 - . "$TEST_DIRECTORY"/lib-merge.sh 11 10 12 11 test_setup_rename_delete_untracked () { 13 12 git init rename-delete-untracked && ··· 316 315 git ls-files -u >out && 317 316 test_line_count = 1 out && 318 317 git ls-files -o >out && 319 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 320 - then 321 - test_line_count = 1 out 322 - else 323 - test_line_count = 2 out 324 - fi && 318 + test_line_count = 1 out && 325 319 326 320 echo 0 >expect && 327 321 git cat-file -p base:file >>expect && ··· 350 344 git ls-files -u >out && 351 345 test_line_count = 3 out && 352 346 git ls-files -o >out && 353 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 354 - then 355 - test_line_count = 1 out 356 - else 357 - test_line_count = 2 out 358 - fi && 347 + test_line_count = 1 out && 359 348 360 349 git cat-file -p left-conflict:newfile >left && 361 350 git cat-file -p base:file >base && ··· 369 358 370 359 git rev-parse >expect \ 371 360 base:file left-conflict:newfile right:file && 372 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 373 - then 374 - git rev-parse >actual \ 375 - :1:newfile~HEAD :2:newfile~HEAD :3:newfile~HEAD 376 - else 377 - git rev-parse >actual \ 378 - :1:newfile :2:newfile :3:newfile 379 - fi && 361 + git rev-parse >actual \ 362 + :1:newfile~HEAD :2:newfile~HEAD :3:newfile~HEAD && 380 363 test_cmp expect actual && 381 364 382 365 test_path_is_file newfile/realfile && ··· 896 879 ) 897 880 } 898 881 899 - test_expect_merge_algorithm failure success 'rad-check: rename/add/delete conflict' ' 882 + test_expect_success 'rad-check: rename/add/delete conflict' ' 900 883 test_setup_rad && 901 884 ( 902 885 cd rad && ··· 969 952 ) 970 953 } 971 954 972 - test_expect_merge_algorithm failure success 'rrdd-check: rename/rename(2to1)/delete/delete conflict' ' 955 + test_expect_success 'rrdd-check: rename/rename(2to1)/delete/delete conflict' ' 973 956 test_setup_rrdd && 974 957 ( 975 958 cd rrdd && ··· 1058 1041 ) 1059 1042 } 1060 1043 1061 - test_expect_merge_algorithm failure success 'mod6-check: chains of rename/rename(1to2) and rename/rename(2to1)' ' 1044 + test_expect_success 'mod6-check: chains of rename/rename(1to2) and rename/rename(2to1)' ' 1062 1045 test_setup_mod6 && 1063 1046 ( 1064 1047 cd mod6 &&
+97 -404
t/t6423-merge-rename-directories.sh
··· 26 26 # files that might be renamed into each other's paths.) 27 27 28 28 . ./test-lib.sh 29 - . "$TEST_DIRECTORY"/lib-merge.sh 30 - 31 29 32 30 ########################################################################### 33 31 # SECTION 1: Basic cases we should be able to handle ··· 302 300 git cat-file -p :2:x/wham >expect && 303 301 git cat-file -p :3:x/wham >other && 304 302 >empty && 305 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 306 - then 307 - test_must_fail git merge-file \ 308 - -L "HEAD:y/wham" \ 309 - -L "" \ 310 - -L "B^0:z/wham" \ 311 - expect empty other 312 - else 313 - test_must_fail git merge-file \ 314 - -L "HEAD" \ 315 - -L "" \ 316 - -L "B^0" \ 317 - expect empty other 318 - fi && 303 + test_must_fail git merge-file \ 304 + -L "HEAD:y/wham" \ 305 + -L "" \ 306 + -L "B^0:z/wham" \ 307 + expect empty other && 319 308 test_cmp expect x/wham 320 309 ) 321 310 ' ··· 1186 1175 git ls-files -u >out && 1187 1176 test_line_count = 1 out && 1188 1177 git ls-files -o >out && 1189 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 1190 - then 1191 - test_line_count = 1 out && 1192 - 1193 - git rev-parse >actual \ 1194 - :0:y/b :0:y/c :0:z/d :0:y/f :2:y/d~HEAD :0:y/d/e 1195 - else 1196 - test_line_count = 2 out && 1178 + test_line_count = 1 out && 1197 1179 1198 - git rev-parse >actual \ 1199 - :0:y/b :0:y/c :0:z/d :0:y/f :2:y/d :0:y/d/e 1200 - fi && 1180 + git rev-parse >actual \ 1181 + :0:y/b :0:y/c :0:z/d :0:y/f :2:y/d~HEAD :0:y/d/e && 1201 1182 git rev-parse >expect \ 1202 1183 O:z/b O:z/c B:z/d B:z/f A:y/d B:y/d/e && 1203 1184 test_cmp expect actual && ··· 1280 1261 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out && 1281 1262 test_grep "CONFLICT (rename/delete).*z/c.*y/c" out && 1282 1263 1283 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 1284 - then 1285 - git ls-files -s >out && 1286 - test_line_count = 3 out && 1287 - git ls-files -u >out && 1288 - test_line_count = 2 out && 1289 - git ls-files -o >out && 1290 - test_line_count = 1 out && 1291 - 1292 - git rev-parse >actual \ 1293 - :0:y/b :1:y/c :3:y/c && 1294 - git rev-parse >expect \ 1295 - O:z/b O:z/c O:z/c 1296 - else 1297 - git ls-files -s >out && 1298 - test_line_count = 2 out && 1299 - git ls-files -u >out && 1300 - test_line_count = 1 out && 1301 - git ls-files -o >out && 1302 - test_line_count = 1 out && 1264 + git ls-files -s >out && 1265 + test_line_count = 3 out && 1266 + git ls-files -u >out && 1267 + test_line_count = 2 out && 1268 + git ls-files -o >out && 1269 + test_line_count = 1 out && 1303 1270 1304 - git rev-parse >actual \ 1305 - :0:y/b :3:y/c && 1306 - git rev-parse >expect \ 1307 - O:z/b O:z/c 1308 - fi && 1271 + git rev-parse >actual \ 1272 + :0:y/b :1:y/c :3:y/c && 1273 + git rev-parse >expect \ 1274 + O:z/b O:z/c O:z/c && 1309 1275 test_cmp expect actual 1310 1276 ) 1311 1277 ' ··· 1372 1338 ) 1373 1339 } 1374 1340 1375 - test_expect_merge_algorithm failure success '6b1: Same renames done on both sides, plus another rename' ' 1341 + test_expect_success '6b1: Same renames done on both sides, plus another rename' ' 1376 1342 test_setup_6b1 && 1377 1343 ( 1378 1344 cd 6b1 && ··· 1445 1411 ) 1446 1412 } 1447 1413 1448 - test_expect_merge_algorithm failure success '6b2: Same rename done on both sides' ' 1414 + test_expect_success '6b2: Same rename done on both sides' ' 1449 1415 test_setup_6b2 && 1450 1416 ( 1451 1417 cd 6b2 && ··· 1832 1798 git cat-file -p :2:y/d >expect && 1833 1799 git cat-file -p :3:y/d >other && 1834 1800 >empty && 1835 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 1836 - then 1837 - test_must_fail git merge-file \ 1838 - -L "HEAD:y/d" \ 1839 - -L "" \ 1840 - -L "B^0:z/d" \ 1841 - expect empty other 1842 - else 1843 - test_must_fail git merge-file \ 1844 - -L "HEAD" \ 1845 - -L "" \ 1846 - -L "B^0" \ 1847 - expect empty other 1848 - fi && 1801 + test_must_fail git merge-file \ 1802 + -L "HEAD:y/d" \ 1803 + -L "" \ 1804 + -L "B^0:z/d" \ 1805 + expect empty other && 1849 1806 test_cmp expect y/d 1850 1807 ) 1851 1808 ' ··· 1967 1924 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out && 1968 1925 test_grep "CONFLICT (rename/delete).*x/d.*y/d" out && 1969 1926 1970 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 1971 - then 1972 - git ls-files -s >out && 1973 - test_line_count = 4 out && 1974 - git ls-files -u >out && 1975 - test_line_count = 2 out && 1976 - git ls-files -o >out && 1977 - test_line_count = 1 out && 1927 + git ls-files -s >out && 1928 + test_line_count = 4 out && 1929 + git ls-files -u >out && 1930 + test_line_count = 2 out && 1931 + git ls-files -o >out && 1932 + test_line_count = 1 out && 1978 1933 1979 - git rev-parse >actual \ 1980 - :0:y/b :0:y/c :1:y/d :3:y/d && 1981 - git rev-parse >expect \ 1982 - O:z/b O:z/c O:x/d O:x/d 1983 - else 1984 - git ls-files -s >out && 1985 - test_line_count = 3 out && 1986 - git ls-files -u >out && 1987 - test_line_count = 1 out && 1988 - git ls-files -o >out && 1989 - test_line_count = 1 out && 1990 - 1991 - git rev-parse >actual \ 1992 - :0:y/b :0:y/c :3:y/d && 1993 - git rev-parse >expect \ 1994 - O:z/b O:z/c O:x/d 1995 - fi && 1934 + git rev-parse >actual \ 1935 + :0:y/b :0:y/c :1:y/d :3:y/d && 1936 + git rev-parse >expect \ 1937 + O:z/b O:z/c O:x/d O:x/d && 1996 1938 test_cmp expect actual 1997 1939 ) 1998 1940 ' ··· 2073 2015 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out && 2074 2016 test_grep "CONFLICT (rename/delete).*x/d.*y/d" out && 2075 2017 2076 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 2077 - then 2078 - git ls-files -s >out && 2079 - test_line_count = 6 out && 2080 - git ls-files -u >out && 2081 - test_line_count = 2 out && 2082 - git ls-files -o >out && 2083 - test_line_count = 1 out && 2018 + git ls-files -s >out && 2019 + test_line_count = 6 out && 2020 + git ls-files -u >out && 2021 + test_line_count = 2 out && 2022 + git ls-files -o >out && 2023 + test_line_count = 1 out && 2084 2024 2085 - git rev-parse >actual \ 2086 - :0:x/d/f :0:y/d/g :0:y/b :0:y/c :1:y/d~B^0 :3:y/d~B^0 && 2087 - git rev-parse >expect \ 2088 - A:x/d/f A:y/d/g O:z/b O:z/c O:x/d O:x/d 2089 - else 2090 - git ls-files -s >out && 2091 - test_line_count = 5 out && 2092 - git ls-files -u >out && 2093 - test_line_count = 1 out && 2094 - git ls-files -o >out && 2095 - test_line_count = 2 out && 2096 - 2097 - git rev-parse >actual \ 2098 - :0:x/d/f :0:y/d/g :0:y/b :0:y/c :3:y/d && 2099 - git rev-parse >expect \ 2100 - A:x/d/f A:y/d/g O:z/b O:z/c O:x/d 2101 - fi && 2025 + git rev-parse >actual \ 2026 + :0:x/d/f :0:y/d/g :0:y/b :0:y/c :1:y/d~B^0 :3:y/d~B^0 && 2027 + git rev-parse >expect \ 2028 + A:x/d/f A:y/d/g O:z/b O:z/c O:x/d O:x/d && 2102 2029 test_cmp expect actual && 2103 2030 2104 2031 git hash-object y/d~B^0 >actual && ··· 3284 3211 echo contents >y/e && 3285 3212 3286 3213 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3287 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3288 - then 3289 - test_path_is_missing .git/MERGE_HEAD && 3290 - test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3214 + test_path_is_missing .git/MERGE_HEAD && 3215 + test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3291 3216 3292 - git ls-files -s >out && 3293 - test_line_count = 1 out && 3294 - git ls-files -u >out && 3295 - test_line_count = 0 out && 3296 - git ls-files -o >out && 3297 - test_line_count = 5 out 3298 - else 3299 - test_grep "CONFLICT (rename/delete).*Version B\^0 of y/d left in tree at y/d~B\^0" out && 3300 - test_grep "Error: Refusing to lose untracked file at y/e; writing to y/e~B\^0 instead" out && 3301 - 3302 - git ls-files -s >out && 3303 - test_line_count = 3 out && 3304 - git ls-files -u >out && 3305 - test_line_count = 2 out && 3306 - git ls-files -o >out && 3307 - test_line_count = 5 out && 3308 - 3309 - git rev-parse >actual \ 3310 - :0:y/b :3:y/d :3:y/e && 3311 - git rev-parse >expect \ 3312 - O:z/b O:z/c B:z/e && 3313 - test_cmp expect actual 3314 - fi && 3217 + git ls-files -s >out && 3218 + test_line_count = 1 out && 3219 + git ls-files -u >out && 3220 + test_line_count = 0 out && 3221 + git ls-files -o >out && 3222 + test_line_count = 5 out && 3315 3223 3316 3224 echo very >expect && 3317 3225 test_cmp expect y/c && ··· 3374 3282 echo important >y/c && 3375 3283 3376 3284 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3377 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3378 - then 3379 - test_path_is_missing .git/MERGE_HEAD && 3380 - test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3381 - 3382 - git ls-files -s >out && 3383 - test_line_count = 4 out && 3384 - git ls-files -u >out && 3385 - test_line_count = 0 out && 3386 - git ls-files -o >out && 3387 - test_line_count = 3 out 3388 - else 3389 - test_grep "CONFLICT (rename/rename)" out && 3390 - test_grep "Refusing to lose untracked file at y/c; adding as y/c~B\^0 instead" out && 3391 - 3392 - git ls-files -s >out && 3393 - test_line_count = 6 out && 3394 - git ls-files -u >out && 3395 - test_line_count = 3 out && 3396 - git ls-files -o >out && 3397 - test_line_count = 3 out && 3285 + test_path_is_missing .git/MERGE_HEAD && 3286 + test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3398 3287 3399 - git rev-parse >actual \ 3400 - :0:y/a :0:y/b :0:x/d :1:x/c :2:w/c :3:y/c && 3401 - git rev-parse >expect \ 3402 - O:z/a O:z/b O:x/d O:x/c O:x/c O:x/c && 3403 - test_cmp expect actual && 3404 - 3405 - git hash-object y/c~B^0 >actual && 3406 - git rev-parse O:x/c >expect && 3407 - test_cmp expect actual 3408 - fi && 3288 + git ls-files -s >out && 3289 + test_line_count = 4 out && 3290 + git ls-files -u >out && 3291 + test_line_count = 0 out && 3292 + git ls-files -o >out && 3293 + test_line_count = 3 out && 3409 3294 3410 3295 echo important >expect && 3411 3296 test_cmp expect y/c ··· 3425 3310 echo important >y/c && 3426 3311 3427 3312 test_must_fail git -c merge.directoryRenames=true merge -s recursive A^0 >out 2>err && 3428 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3429 - then 3430 - test_path_is_missing .git/MERGE_HEAD && 3431 - test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3313 + test_path_is_missing .git/MERGE_HEAD && 3314 + test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3432 3315 3433 - git ls-files -s >out && 3434 - test_line_count = 4 out && 3435 - git ls-files -u >out && 3436 - test_line_count = 0 out && 3437 - git ls-files -o >out && 3438 - test_line_count = 3 out 3439 - else 3440 - test_grep "CONFLICT (rename/rename)" out && 3441 - test_grep "Refusing to lose untracked file at y/c; adding as y/c~HEAD instead" out && 3442 - 3443 - git ls-files -s >out && 3444 - test_line_count = 6 out && 3445 - git ls-files -u >out && 3446 - test_line_count = 3 out && 3447 - git ls-files -o >out && 3448 - test_line_count = 3 out && 3449 - 3450 - git rev-parse >actual \ 3451 - :0:y/a :0:y/b :0:x/d :1:x/c :3:w/c :2:y/c && 3452 - git rev-parse >expect \ 3453 - O:z/a O:z/b O:x/d O:x/c O:x/c O:x/c && 3454 - test_cmp expect actual && 3455 - 3456 - git hash-object y/c~HEAD >actual && 3457 - git rev-parse O:x/c >expect && 3458 - test_cmp expect actual 3459 - fi && 3316 + git ls-files -s >out && 3317 + test_line_count = 4 out && 3318 + git ls-files -u >out && 3319 + test_line_count = 0 out && 3320 + git ls-files -o >out && 3321 + test_line_count = 3 out && 3460 3322 3461 3323 echo important >expect && 3462 3324 test_cmp expect y/c ··· 3514 3376 echo important >y/wham && 3515 3377 3516 3378 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3517 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3518 - then 3519 - test_path_is_missing .git/MERGE_HEAD && 3520 - test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3521 - 3522 - git ls-files -s >out && 3523 - test_line_count = 6 out && 3524 - git ls-files -u >out && 3525 - test_line_count = 0 out && 3526 - git ls-files -o >out && 3527 - test_line_count = 3 out 3528 - else 3529 - test_grep "CONFLICT (rename/rename)" out && 3530 - test_grep "Refusing to lose untracked file at y/wham" out && 3531 - 3532 - git ls-files -s >out && 3533 - test_line_count = 6 out && 3534 - git ls-files -u >out && 3535 - test_line_count = 2 out && 3536 - git ls-files -o >out && 3537 - test_line_count = 3 out && 3379 + test_path_is_missing .git/MERGE_HEAD && 3380 + test_grep "error: The following untracked working tree files would be overwritten by merge" err && 3538 3381 3539 - git rev-parse >actual \ 3540 - :0:y/a :0:y/b :0:y/d :0:y/e :2:y/wham :3:y/wham && 3541 - git rev-parse >expect \ 3542 - O:z/a O:z/b O:x/d O:x/e O:z/c O:x/f && 3543 - test_cmp expect actual && 3544 - 3545 - test_must_fail git rev-parse :1:y/wham && 3546 - 3547 - # Test that two-way merge in y/wham~merged is as expected 3548 - git cat-file -p :2:y/wham >expect && 3549 - git cat-file -p :3:y/wham >other && 3550 - >empty && 3551 - test_must_fail git merge-file \ 3552 - -L "HEAD" \ 3553 - -L "" \ 3554 - -L "B^0" \ 3555 - expect empty other && 3556 - test_cmp expect y/wham~merged 3557 - fi && 3382 + git ls-files -s >out && 3383 + test_line_count = 6 out && 3384 + git ls-files -u >out && 3385 + test_line_count = 0 out && 3386 + git ls-files -o >out && 3387 + test_line_count = 3 out && 3558 3388 3559 3389 echo important >expect && 3560 3390 test_cmp expect y/wham ··· 3596 3426 ) 3597 3427 } 3598 3428 3599 - test_expect_merge_algorithm failure success '10e: Does git complain about untracked file that is not really in the way?' ' 3429 + test_expect_success '10e: Does git complain about untracked file that is not really in the way?' ' 3600 3430 test_setup_10e && 3601 3431 ( 3602 3432 cd 10e && ··· 3687 3517 echo stuff >>z/c && 3688 3518 3689 3519 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3690 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3691 - then 3692 - test_path_is_missing .git/MERGE_HEAD && 3693 - test_grep "error: Your local changes to the following files would be overwritten by merge" err 3694 - else 3695 - test_grep "Refusing to lose dirty file at z/c" out && 3696 - 3697 - git ls-files -s >out && 3698 - test_line_count = 2 out && 3699 - git ls-files -u >out && 3700 - test_line_count = 1 out && 3701 - git ls-files -o >out && 3702 - test_line_count = 3 out && 3703 - 3704 - git rev-parse >actual \ 3705 - :0:z/a :2:z/c && 3706 - git rev-parse >expect \ 3707 - O:z/a B:z/b && 3708 - test_cmp expect actual && 3709 - 3710 - git hash-object z/c~HEAD >actual && 3711 - git rev-parse B:z/b >expect && 3712 - test_cmp expect actual 3713 - fi && 3520 + test_path_is_missing .git/MERGE_HEAD && 3521 + test_grep "error: Your local changes to the following files would be overwritten by merge" err && 3714 3522 3715 3523 test_seq 1 10 >expected && 3716 3524 echo stuff >>expected && ··· 3766 3574 git checkout A^0 && 3767 3575 echo stuff >>z/c && 3768 3576 3769 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3770 - then 3771 - test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3772 - test_path_is_missing .git/MERGE_HEAD && 3773 - test_grep "error: Your local changes to the following files would be overwritten by merge" err 3774 - else 3775 - git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3776 - test_grep "Refusing to lose dirty file at z/c" out && 3777 - 3778 - git ls-files -s >out && 3779 - test_line_count = 3 out && 3780 - git ls-files -u >out && 3781 - test_line_count = 0 out && 3782 - git ls-files -m >out && 3783 - test_line_count = 0 out && 3784 - git ls-files -o >out && 3785 - test_line_count = 3 out && 3786 - 3787 - git rev-parse >actual \ 3788 - :0:x/b :0:y/a :0:y/c && 3789 - git rev-parse >expect \ 3790 - O:x/b O:z/a B:x/c && 3791 - test_cmp expect actual && 3792 - 3793 - git hash-object y/c >actual && 3794 - git rev-parse B:x/c >expect && 3795 - test_cmp expect actual 3796 - fi && 3577 + test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3578 + test_path_is_missing .git/MERGE_HEAD && 3579 + test_grep "error: Your local changes to the following files would be overwritten by merge" err && 3797 3580 3798 3581 grep -q stuff z/c && 3799 3582 test_seq 1 10 >expected && ··· 3850 3633 echo stuff >>y/c && 3851 3634 3852 3635 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3853 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3854 - then 3855 - test_path_is_missing .git/MERGE_HEAD && 3856 - test_grep "error: Your local changes to the following files would be overwritten by merge" err 3857 - else 3858 - test_grep "following files would be overwritten by merge" err 3859 - fi && 3636 + test_path_is_missing .git/MERGE_HEAD && 3637 + test_grep "error: Your local changes to the following files would be overwritten by merge" err && 3860 3638 3861 3639 grep -q stuff y/c && 3862 3640 test_seq 1 10 >expected && ··· 3924 3702 echo stuff >>z/c && 3925 3703 3926 3704 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 3927 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 3928 - then 3929 - test_path_is_missing .git/MERGE_HEAD && 3930 - test_grep "error: Your local changes to the following files would be overwritten by merge" err 3931 - else 3932 - test_grep "Refusing to lose dirty file at z/c" out && 3933 - 3934 - git ls-files -s >out && 3935 - test_line_count = 4 out && 3936 - git ls-files -u >out && 3937 - test_line_count = 1 out && 3938 - git ls-files -o >out && 3939 - test_line_count = 4 out && 3940 - 3941 - git rev-parse >actual \ 3942 - :0:x/b :0:y/a :0:y/c/d :3:y/c && 3943 - git rev-parse >expect \ 3944 - O:x/b O:z/a B:y/c/d B:x/c && 3945 - test_cmp expect actual && 3946 - 3947 - git hash-object y/c~HEAD >actual && 3948 - git rev-parse B:x/c >expect && 3949 - test_cmp expect actual 3950 - fi && 3705 + test_path_is_missing .git/MERGE_HEAD && 3706 + test_grep "error: Your local changes to the following files would be overwritten by merge" err && 3951 3707 3952 3708 grep -q stuff z/c && 3953 3709 test_seq 1 10 >expected && ··· 4010 3766 echo mods >>y/c && 4011 3767 4012 3768 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 4013 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 4014 - then 4015 - test_path_is_missing .git/MERGE_HEAD && 4016 - test_grep "error: Your local changes to the following files would be overwritten by merge" err 4017 - else 4018 - test_grep "CONFLICT (rename/rename)" out && 4019 - test_grep "Refusing to lose dirty file at y/c" out && 4020 - 4021 - git ls-files -s >out && 4022 - test_line_count = 7 out && 4023 - git ls-files -u >out && 4024 - test_line_count = 4 out && 4025 - git ls-files -o >out && 4026 - test_line_count = 3 out && 4027 - 4028 - git rev-parse >actual \ 4029 - :0:y/a :0:y/b :0:x/d :1:x/c :2:w/c :2:y/c :3:y/c && 4030 - git rev-parse >expect \ 4031 - O:z/a O:z/b O:x/d O:x/c O:x/c A:y/c O:x/c && 4032 - test_cmp expect actual && 4033 - 4034 - # See if y/c~merged has expected contents; requires manually 4035 - # doing the expected file merge 4036 - git cat-file -p A:y/c >c1 && 4037 - git cat-file -p B:z/c >c2 && 4038 - >empty && 4039 - test_must_fail git merge-file \ 4040 - -L "HEAD" \ 4041 - -L "" \ 4042 - -L "B^0" \ 4043 - c1 empty c2 && 4044 - test_cmp c1 y/c~merged 4045 - fi && 3769 + test_path_is_missing .git/MERGE_HEAD && 3770 + test_grep "error: Your local changes to the following files would be overwritten by merge" err && 4046 3771 4047 3772 echo different >expected && 4048 3773 echo mods >>expected && ··· 4099 3824 echo important >>y/wham && 4100 3825 4101 3826 test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out 2>err && 4102 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 4103 - then 4104 - test_path_is_missing .git/MERGE_HEAD && 4105 - test_grep "error: Your local changes to the following files would be overwritten by merge" err 4106 - else 4107 - test_grep "CONFLICT (rename/rename)" out && 4108 - test_grep "Refusing to lose dirty file at y/wham" out && 4109 - 4110 - git ls-files -s >out && 4111 - test_line_count = 4 out && 4112 - git ls-files -u >out && 4113 - test_line_count = 2 out && 4114 - git ls-files -o >out && 4115 - test_line_count = 3 out && 4116 - 4117 - test_must_fail git rev-parse :1:y/wham && 4118 - 4119 - git rev-parse >actual \ 4120 - :0:y/a :0:y/b :2:y/wham :3:y/wham && 4121 - git rev-parse >expect \ 4122 - O:z/a O:z/b O:x/c O:x/d && 4123 - test_cmp expect actual && 4124 - 4125 - # Test that two-way merge in y/wham~merged is as expected 4126 - git cat-file -p :2:y/wham >expect && 4127 - git cat-file -p :3:y/wham >other && 4128 - >empty && 4129 - test_must_fail git merge-file \ 4130 - -L "HEAD" \ 4131 - -L "" \ 4132 - -L "B^0" \ 4133 - expect empty other && 4134 - test_cmp expect y/wham~merged 4135 - fi && 3827 + test_path_is_missing .git/MERGE_HEAD && 3828 + test_grep "error: Your local changes to the following files would be overwritten by merge" err && 4136 3829 4137 3830 test_seq 1 10 >expected && 4138 3831 echo important >>expected && ··· 4267 3960 ) 4268 3961 } 4269 3962 4270 - test_expect_merge_algorithm failure success '12b1: Moving two directory hierarchies into each other' ' 3963 + test_expect_success '12b1: Moving two directory hierarchies into each other' ' 4271 3964 test_setup_12b1 && 4272 3965 ( 4273 3966 cd 12b1 && ··· 4435 4128 ) 4436 4129 } 4437 4130 4438 - test_expect_merge_algorithm failure success '12c1: Moving one directory hierarchy into another w/ content merge' ' 4131 + test_expect_success '12c1: Moving one directory hierarchy into another w/ content merge' ' 4439 4132 test_setup_12c1 && 4440 4133 ( 4441 4134 cd 12c1 && ··· 4797 4490 ) 4798 4491 } 4799 4492 4800 - test_expect_merge_algorithm failure success '12f: Trivial directory resolve, caching, all kinds of fun' ' 4493 + test_expect_success '12f: Trivial directory resolve, caching, all kinds of fun' ' 4801 4494 test_setup_12f && 4802 4495 ( 4803 4496 cd 12f && ··· 5253 4946 ) 5254 4947 } 5255 4948 5256 - test_expect_merge_algorithm failure success '12l (B into A): Rename into each other + add/add conflict' ' 4949 + test_expect_success '12l (B into A): Rename into each other + add/add conflict' ' 5257 4950 test_setup_12l BintoA && 5258 4951 ( 5259 4952 cd 12l_BintoA && ··· 5280 4973 ) 5281 4974 ' 5282 4975 5283 - test_expect_merge_algorithm failure success '12l (A into B): Rename into each other + add/add conflict' ' 4976 + test_expect_success '12l (A into B): Rename into each other + add/add conflict' ' 5284 4977 test_setup_12l AintoB && 5285 4978 ( 5286 4979 cd 12l_AintoB && ··· 5348 5041 ) 5349 5042 } 5350 5043 5351 - test_expect_merge_algorithm failure success '12m: Change parent of renamed-dir to symlink on other side' ' 5044 + test_expect_success '12m: Change parent of renamed-dir to symlink on other side' ' 5352 5045 test_setup_12m && 5353 5046 ( 5354 5047 cd 12m &&
+1 -3
t/t6424-merge-unrelated-index-changes.sh
··· 296 296 git add a && 297 297 git rev-parse :a >expect && 298 298 299 - sane_unset GIT_TEST_MERGE_ALGORITHM && 300 - test_must_fail git merge -s recursive -s ort -s octopus C^0 >output 2>&1 && 299 + test_must_fail git merge -s ort -s octopus C^0 >output 2>&1 && 301 300 302 - grep "Trying merge strategy recursive..." output && 303 301 grep "Trying merge strategy ort..." output && 304 302 grep "Trying merge strategy octopus..." output && 305 303 grep "No merge strategy handled the merge." output &&
+1 -3
t/t6426-merge-skip-unneeded-updates.sh
··· 23 23 # files that might be renamed into each other's paths.) 24 24 25 25 . ./test-lib.sh 26 - . "$TEST_DIRECTORY"/lib-merge.sh 27 - 28 26 29 27 ########################################################################### 30 28 # SECTION 1: Cases involving no renames (one side has subset of changes of ··· 663 661 # correct requires doing the merge in-memory first, then realizing that no 664 662 # updates to the file are necessary, and thus that we can just leave the path 665 663 # alone. 666 - test_expect_merge_algorithm failure success '4a: Change on A, change on B subset of A, dirty mods present' ' 664 + test_expect_success '4a: Change on A, change on B subset of A, dirty mods present' ' 667 665 test_setup_4a && 668 666 ( 669 667 cd 4a &&
-2
t/t6428-merge-conflicts-sparse.sh
··· 23 23 # files that might be renamed into each other's paths.) 24 24 25 25 . ./test-lib.sh 26 - . "$TEST_DIRECTORY"/lib-merge.sh 27 - 28 26 29 27 # Testcase basic, conflicting changes in 'numerals' 30 28
+1 -2
t/t6430-merge-recursive.sh
··· 6 6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME 7 7 8 8 . ./test-lib.sh 9 - . "$TEST_DIRECTORY"/lib-merge.sh 10 9 11 10 test_expect_success 'setup 1' ' 12 11 ··· 645 644 test_cmp expected actual 646 645 ' 647 646 648 - test_expect_merge_algorithm failure success 'merge-recursive rename vs. rename/symlink' ' 647 + test_expect_success 'merge-recursive rename vs. rename/symlink' ' 649 648 650 649 git checkout -f rename && 651 650 git merge rename-ln &&
+4 -13
t/t6436-merge-overwrite.sh
··· 101 101 git mv c1.c other.c && 102 102 git commit -m rename && 103 103 cp important other.c && 104 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 105 - then 106 - test_must_fail git merge c1a >out 2>err && 107 - test_grep "would be overwritten by merge" err && 108 - test_cmp important other.c && 109 - test_path_is_missing .git/MERGE_HEAD 110 - else 111 - test_must_fail git merge c1a >out && 112 - test_grep "Refusing to lose dirty file at other.c" out && 113 - test_path_is_file other.c~HEAD && 114 - test $(git hash-object other.c~HEAD) = $(git rev-parse c1a:c1.c) && 115 - test_cmp important other.c 116 - fi 104 + test_must_fail git merge c1a >out 2>err && 105 + test_grep "would be overwritten by merge" err && 106 + test_cmp important other.c && 107 + test_path_is_missing .git/MERGE_HEAD 117 108 ' 118 109 119 110 test_expect_success 'will not overwrite untracked subtree' '
+20 -45
t/t6437-submodule-merge.sh
··· 9 9 export GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB 10 10 11 11 . ./test-lib.sh 12 - . "$TEST_DIRECTORY"/lib-merge.sh 13 12 14 13 # 15 14 # history ··· 110 109 test_when_finished "git -C merge-search reset --hard" && 111 110 (cd merge-search && 112 111 git checkout -b test-nonforward-a b && 113 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 114 - then 115 - test_must_fail git merge c 2>actual && 116 - sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-c)" && 117 - grep "$sub_expect" actual 118 - else 119 - test_must_fail git merge c 2> actual 120 - fi) 112 + test_must_fail git merge c 2>actual && 113 + sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-c)" && 114 + grep "$sub_expect" actual 115 + ) 121 116 ' 122 117 123 118 test_expect_success 'finish setup for merge-search' ' ··· 151 146 git checkout -b test-nonforward-b b && 152 147 (cd sub && 153 148 git rev-parse --short sub-d > ../expect) && 154 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 155 - then 156 - test_must_fail git merge c >actual 2>sub-actual && 157 - sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-c)" && 158 - grep "$sub_expect" sub-actual 159 - else 160 - test_must_fail git merge c 2> actual 161 - fi && 149 + test_must_fail git merge c >actual 2>sub-actual && 150 + sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-c)" && 151 + grep "$sub_expect" sub-actual && 162 152 grep $(cat expect) actual > /dev/null && 163 153 git reset --hard) 164 154 ' ··· 169 159 (cd sub && 170 160 git checkout -b ambiguous sub-b && 171 161 git merge sub-c && 172 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 173 - then 174 - git rev-parse --short sub-d >../expect1 && 175 - git rev-parse --short ambiguous >../expect2 176 - else 177 - git rev-parse sub-d > ../expect1 && 178 - git rev-parse ambiguous > ../expect2 179 - fi 162 + git rev-parse --short sub-d >../expect1 && 163 + git rev-parse --short ambiguous >../expect2 180 164 ) && 181 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 182 - then 183 - test_must_fail git merge c >actual 2>sub-actual && 184 - sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-c)" && 185 - grep "$sub_expect" sub-actual 186 - else 187 - test_must_fail git merge c 2> actual 188 - fi && 165 + test_must_fail git merge c >actual 2>sub-actual && 166 + sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-c)" && 167 + grep "$sub_expect" sub-actual && 189 168 grep $(cat expect1) actual > /dev/null && 190 169 grep $(cat expect2) actual > /dev/null && 191 170 git reset --hard) ··· 227 206 228 207 git checkout -b test-backward e && 229 208 test_must_fail git merge f 2>actual && 230 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 231 - then 232 - sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-d)" && 233 - grep "$sub_expect" actual 234 - fi) 209 + sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short sub-d)" && 210 + grep "$sub_expect" actual 211 + ) 235 212 ' 236 213 237 214 ··· 358 335 ) 359 336 ' 360 337 361 - test_expect_merge_algorithm failure success 'file/submodule conflict' ' 338 + test_expect_success 'file/submodule conflict' ' 362 339 test_when_finished "git -C file-submodule reset --hard" && 363 340 ( 364 341 cd file-submodule && ··· 467 444 ) 468 445 ' 469 446 470 - test_expect_merge_algorithm failure success !FAIL_PREREQS 'directory/submodule conflict; should not treat submodule files as untracked or in the way' ' 447 + test_expect_success !FAIL_PREREQS 'directory/submodule conflict; should not treat submodule files as untracked or in the way' ' 471 448 test_when_finished "git -C directory-submodule/path reset --hard" && 472 449 test_when_finished "git -C directory-submodule reset --hard" && 473 450 ( ··· 535 512 git add sub && 536 513 git commit -m "b" && 537 514 test_must_fail git merge a 2>actual && 538 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 539 - then 540 - sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short HEAD^1)" && 541 - grep "$sub_expect" actual 542 - fi) 515 + sub_expect="go to submodule (sub), and either merge commit $(git -C sub rev-parse --short HEAD^1)" && 516 + grep "$sub_expect" actual 517 + ) 543 518 ' 544 519 545 520 test_done
-5
t/t6438-submodule-directory-file-conflicts.sh
··· 12 12 13 13 test_submodule_switch "merge --ff-only" 14 14 15 - if test "$GIT_TEST_MERGE_ALGORITHM" != ort 16 - then 17 - KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 18 - KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1 19 - fi 20 15 test_submodule_switch "merge --no-ff" 21 16 22 17 test_done
+1 -1
t/t6439-merge-co-error-msgs.sh
··· 47 47 export GIT_MERGE_VERBOSITY && 48 48 test_must_fail git merge branch 2>out2 49 49 ) && 50 - echo "Merge with strategy ${GIT_TEST_MERGE_ALGORITHM:-ort} failed." >>expect && 50 + echo "Merge with strategy ort failed." >>expect && 51 51 test_cmp out2 expect && 52 52 git reset --hard HEAD^ 53 53 '
+2 -5
t/t7402-submodule-rebase.sh
··· 124 124 echo "160000 $(git rev-parse HEAD) 3 submodule" 125 125 ) >expect && 126 126 test_cmp expect actual && 127 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 128 - then 129 - sub_expect="go to submodule (submodule), and either merge commit $(git -C submodule rev-parse --short HEAD^0)" && 130 - grep "$sub_expect" actual_output 131 - fi 127 + sub_expect="go to submodule (submodule), and either merge commit $(git -C submodule rev-parse --short HEAD^0)" && 128 + grep "$sub_expect" actual_output 132 129 ' 133 130 134 131 test_done
+3 -6
t/t7602-merge-octopus-many.sh
··· 77 77 EOF 78 78 79 79 test_expect_success 'merge reduces irrelevant remote heads' ' 80 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 81 - then 82 - mv expected expected.tmp && 83 - sed s/recursive/ort/ expected.tmp >expected && 84 - rm expected.tmp 85 - fi && 80 + mv expected expected.tmp && 81 + sed s/recursive/ort/ expected.tmp >expected && 82 + rm expected.tmp && 86 83 GIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual && 87 84 test_cmp expected actual 88 85 '
+11 -29
t/t7610-mergetool.sh
··· 535 535 yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && 536 536 yes "" | git mergetool both && 537 537 yes "d" | git mergetool file11 file12 && 538 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 539 - then 540 - yes "c" | git mergetool submod~HEAD && 541 - git rm submod && 542 - git mv submod~HEAD submod 543 - else 544 - yes "l" | git mergetool submod 545 - fi && 538 + yes "c" | git mergetool submod~HEAD && 539 + git rm submod && 540 + git mv submod~HEAD submod && 546 541 git submodule update -N && 547 542 echo "not a submodule" >expect && 548 543 test_cmp expect submod && ··· 559 554 yes "" | git mergetool file1 file2 spaced\ name subdir/file3 && 560 555 yes "" | git mergetool both && 561 556 yes "d" | git mergetool file11 file12 && 562 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 563 - then 564 - mv submod submod.orig && 565 - git rm --cached submod && 566 - yes "c" | git mergetool submod~test19 && 567 - git mv submod~test19 submod 568 - else 569 - yes "r" | git mergetool submod 570 - fi && 557 + mv submod submod.orig && 558 + git rm --cached submod && 559 + yes "c" | git mergetool submod~test19 && 560 + git mv submod~test19 submod && 571 561 test -d submod.orig && 572 562 git submodule update -N && 573 563 echo "not a submodule" >expect && ··· 585 575 yes "" | git mergetool both && 586 576 yes "d" | git mergetool file11 file12 && 587 577 yes "l" | git mergetool submod && 588 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 589 - then 590 - yes "d" | git mergetool submod~test19 591 - fi && 578 + yes "d" | git mergetool submod~test19 && 592 579 echo "main submodule" >expect && 593 580 test_cmp expect submod/bar && 594 581 git submodule update -N && ··· 686 673 test_must_fail git merge main && 687 674 test -n "$(git ls-files -u)" && 688 675 test ! -e submod.orig && 689 - if test "$GIT_TEST_MERGE_ALGORITHM" = ort 690 - then 691 - yes "r" | git mergetool submod~main && 692 - git mv submod submod.orig && 693 - git mv submod~main submod 694 - else 695 - yes "r" | git mergetool submod 696 - fi && 676 + yes "r" | git mergetool submod~main && 677 + git mv submod submod.orig && 678 + git mv submod~main submod && 697 679 test -d submod.orig && 698 680 echo "not a submodule" >expect && 699 681 test_cmp expect submod.orig/file16 &&
-2
t/test-lib.sh
··· 544 544 export GIT_DEFAULT_HASH 545 545 GIT_DEFAULT_REF_FORMAT="${GIT_TEST_DEFAULT_REF_FORMAT:-files}" 546 546 export GIT_DEFAULT_REF_FORMAT 547 - GIT_TEST_MERGE_ALGORITHM="${GIT_TEST_MERGE_ALGORITHM:-ort}" 548 - export GIT_TEST_MERGE_ALGORITHM 549 547 550 548 # Tests using GIT_TRACE typically don't want <timestamp> <file>:<line> output 551 549 GIT_TRACE_BARE=1