diff options
Diffstat (limited to 't/t6040-tracking-info.sh')
-rwxr-xr-x | t/t6040-tracking-info.sh | 124 |
1 files changed, 79 insertions, 45 deletions
diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh index 716283b274..a313849406 100755 --- a/t/t6040-tracking-info.sh +++ b/t/t6040-tracking-info.sh @@ -2,6 +2,9 @@ test_description='remote tracking stats' +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + . ./test-lib.sh advance () { @@ -34,11 +37,11 @@ test_expect_success setup ' git branch -d brokenbase && git checkout -b b6 origin ) && - git checkout -b follower --track master && + git checkout -b follower --track main && advance h ' -script='s/^..\(b.\) *[0-9a-f]* \(.*\)$/\1 \2/p' +t6040_script='s/^..\(b.\) *[0-9a-f]* \(.*\)$/\1 \2/p' cat >expect <<\EOF b1 [ahead 1, behind 1] d b2 [ahead 1, behind 1] d @@ -53,17 +56,17 @@ test_expect_success 'branch -v' ' cd test && git branch -v ) | - sed -n -e "$script" >actual && - test_i18ncmp expect actual + sed -n -e "$t6040_script" >actual && + test_cmp expect actual ' cat >expect <<\EOF -b1 [origin/master: ahead 1, behind 1] d -b2 [origin/master: ahead 1, behind 1] d -b3 [origin/master: behind 1] b -b4 [origin/master: ahead 2] f +b1 [origin/main: ahead 1, behind 1] d +b2 [origin/main: ahead 1, behind 1] d +b3 [origin/main: behind 1] b +b4 [origin/main: ahead 2] f b5 [brokenbase: gone] g -b6 [origin/master] c +b6 [origin/main] c EOF test_expect_success 'branch -vv' ' @@ -71,8 +74,8 @@ test_expect_success 'branch -vv' ' cd test && git branch -vv ) | - sed -n -e "$script" >actual && - test_i18ncmp expect actual + sed -n -e "$t6040_script" >actual && + test_cmp expect actual ' test_expect_success 'checkout (diverged from upstream)' ' @@ -83,7 +86,7 @@ test_expect_success 'checkout (diverged from upstream)' ' ' test_expect_success 'checkout with local tracked branch' ' - git checkout master && + git checkout main && git checkout follower >actual && test_i18ngrep "is ahead of" actual ' @@ -100,7 +103,7 @@ test_expect_success 'checkout (up-to-date with upstream)' ' ( cd test && git checkout b6 ) >actual && - test_i18ngrep "Your branch is up to date with .origin/master" actual + test_i18ngrep "Your branch is up to date with .origin/main" actual ' test_expect_success 'status (diverged from upstream)' ' @@ -130,11 +133,11 @@ test_expect_success 'status (up-to-date with upstream)' ' # reports nothing to commit test_must_fail git commit --dry-run ) >actual && - test_i18ngrep "Your branch is up to date with .origin/master" actual + test_i18ngrep "Your branch is up to date with .origin/main" actual ' cat >expect <<\EOF -## b1...origin/master [ahead 1, behind 1] +## b1...origin/main [ahead 1, behind 1] EOF test_expect_success 'status -s -b (diverged from upstream)' ' @@ -143,11 +146,11 @@ test_expect_success 'status -s -b (diverged from upstream)' ' git checkout b1 >/dev/null && git status -s -b | head -1 ) >actual && - test_i18ncmp expect actual + test_cmp expect actual ' cat >expect <<\EOF -## b1...origin/master [different] +## b1...origin/main [different] EOF test_expect_success 'status -s -b --no-ahead-behind (diverged from upstream)' ' @@ -156,12 +159,25 @@ test_expect_success 'status -s -b --no-ahead-behind (diverged from upstream)' ' git checkout b1 >/dev/null && git status -s -b --no-ahead-behind | head -1 ) >actual && - test_i18ncmp expect actual + test_cmp expect actual +' + +cat >expect <<\EOF +## b1...origin/main [different] +EOF + +test_expect_success 'status.aheadbehind=false status -s -b (diverged from upstream)' ' + ( + cd test && + git checkout b1 >/dev/null && + git -c status.aheadbehind=false status -s -b | head -1 + ) >actual && + test_cmp expect actual ' cat >expect <<\EOF On branch b1 -Your branch and 'origin/master' have diverged, +Your branch and 'origin/main' have diverged, and have 1 and 1 different commits each, respectively. EOF @@ -171,12 +187,21 @@ test_expect_success 'status --long --branch' ' git checkout b1 >/dev/null && git status --long -b | head -3 ) >actual && - test_i18ncmp expect actual + test_cmp expect actual +' + +test_expect_success 'status --long --branch' ' + ( + cd test && + git checkout b1 >/dev/null && + git -c status.aheadbehind=true status --long -b | head -3 + ) >actual && + test_cmp expect actual ' cat >expect <<\EOF On branch b1 -Your branch and 'origin/master' refer to different commits. +Your branch and 'origin/main' refer to different commits. EOF test_expect_success 'status --long --branch --no-ahead-behind' ' @@ -185,7 +210,16 @@ test_expect_success 'status --long --branch --no-ahead-behind' ' git checkout b1 >/dev/null && git status --long -b --no-ahead-behind | head -2 ) >actual && - test_i18ncmp expect actual + test_cmp expect actual +' + +test_expect_success 'status.aheadbehind=false status --long --branch' ' + ( + cd test && + git checkout b1 >/dev/null && + git -c status.aheadbehind=false status --long -b | head -2 + ) >actual && + test_cmp expect actual ' cat >expect <<\EOF @@ -198,11 +232,11 @@ test_expect_success 'status -s -b (upstream is gone)' ' git checkout b5 >/dev/null && git status -s -b | head -1 ) >actual && - test_i18ncmp expect actual + test_cmp expect actual ' cat >expect <<\EOF -## b6...origin/master +## b6...origin/main EOF test_expect_success 'status -s -b (up-to-date with upstream)' ' @@ -211,11 +245,11 @@ test_expect_success 'status -s -b (up-to-date with upstream)' ' git checkout b6 >/dev/null && git status -s -b | head -1 ) >actual && - test_i18ncmp expect actual + test_cmp expect actual ' test_expect_success 'fail to track lightweight tags' ' - git checkout master && + git checkout main && git tag light && test_must_fail git branch --track lighttrack light >actual && test_i18ngrep ! "set up to track" actual && @@ -223,7 +257,7 @@ test_expect_success 'fail to track lightweight tags' ' ' test_expect_success 'fail to track annotated tags' ' - git checkout master && + git checkout main && git tag -m heavy heavy && test_must_fail git branch --track heavytrack heavy >actual && test_i18ngrep ! "set up to track" actual && @@ -231,29 +265,29 @@ test_expect_success 'fail to track annotated tags' ' ' test_expect_success '--set-upstream-to does not change branch' ' - git branch from-master master && - git branch --set-upstream-to master from-master && - git branch from-master2 master && - test_must_fail git config branch.from-master2.merge > actual && - git rev-list from-master2 && - git update-ref refs/heads/from-master2 from-master2^ && - git rev-parse from-master2 >expect2 && - git branch --set-upstream-to master from-master2 && - git config branch.from-master.merge > actual && - git rev-parse from-master2 >actual2 && - grep -q "^refs/heads/master$" actual && + git branch from-main main && + git branch --set-upstream-to main from-main && + git branch from-topic_2 main && + test_must_fail git config branch.from-topic_2.merge > actual && + git rev-list from-topic_2 && + git update-ref refs/heads/from-topic_2 from-topic_2^ && + git rev-parse from-topic_2 >expect2 && + git branch --set-upstream-to main from-topic_2 && + git config branch.from-main.merge > actual && + git rev-parse from-topic_2 >actual2 && + grep -q "^refs/heads/main$" actual && cmp expect2 actual2 ' test_expect_success '--set-upstream-to @{-1}' ' git checkout follower && - git checkout from-master2 && - git config branch.from-master2.merge > expect2 && - git branch --set-upstream-to @{-1} from-master && - git config branch.from-master.merge > actual && - git config branch.from-master2.merge > actual2 && - git branch --set-upstream-to follower from-master && - git config branch.from-master.merge > expect && + git checkout from-topic_2 && + git config branch.from-topic_2.merge > expect2 && + git branch --set-upstream-to @{-1} from-main && + git config branch.from-main.merge > actual && + git config branch.from-topic_2.merge > actual2 && + git branch --set-upstream-to follower from-main && + git config branch.from-main.merge > expect && test_cmp expect2 actual2 && test_cmp expect actual ' |