test_expect_success 'rebuild repo' '
rm -rf .git * &&
git init &&
- git switch -c main &&
+ git switch -c topic &&
echo base >file &&
git add file &&
git add file &&
test_commit B &&
- git switch main &&
+ git switch topic &&
test_must_fail git merge -m "M" B &&
echo A >file &&
echo B >>file &&
git merge -m R -Xtheirs X &&
note R &&
- git switch main &&
+ git switch topic &&
git merge -m N R &&
note N &&
git add z &&
test_commit Z &&
- git switch main &&
+ git switch topic &&
git merge -m O Z &&
note O &&
test_commit foo
'
-test_expect_success 'setup branch main' '
- git checkout -b main master &&
+test_expect_success 'setup topic branch' '
+ git checkout -b topic master &&
git merge -s ours --no-commit --allow-unrelated-histories sub &&
git read-tree --prefix=dir/ -u sub &&
- git commit -m "initial merge of sub into main" &&
+ git commit -m "initial merge of sub into topic" &&
test_path_is_file dir/foo.t &&
test_path_is_file hello
'
test_commit bar
'
-test_expect_success 'update branch main' '
- git checkout main &&
- git merge -s subtree sub -m "second merge of sub into main" &&
+test_expect_success 'update topic branch' '
+ git checkout topic &&
+ git merge -s subtree sub -m "second merge of sub into topic" &&
test_path_is_file dir/bar.t &&
test_path_is_file dir/foo.t &&
test_path_is_file hello
test_expect_success 'merging with triple rename across D/F conflict' '
git reset --hard HEAD &&
- git checkout -b main &&
+ git checkout -b topic &&
git rm -rf . &&
echo "just a file" >sub1 &&
test_tick &&
git commit -a -m changesimplefile &&
- git checkout main &&
+ git checkout topic &&
git rm sub1 &&
git mv sub2 sub1 &&
test_tick &&