summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rwxr-xr-xt/t6040-tracking-info.sh34
1 files changed, 33 insertions, 1 deletions
diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh
index 6f678a4dc2..ba26cfe923 100755
--- a/t/t6040-tracking-info.sh
+++ b/t/t6040-tracking-info.sh
@@ -32,7 +32,8 @@ test_expect_success setup '
git checkout -b brokenbase origin &&
git checkout -b b5 --track brokenbase &&
advance g &&
- git branch -d brokenbase
+ git branch -d brokenbase &&
+ git checkout -b b6 origin
) &&
git checkout -b follower --track master &&
advance h
@@ -61,6 +62,7 @@ b2 origin/master: ahead 1, behind 1
b3 origin/master: behind 1
b4 origin/master: ahead 2
b5 brokenbase: gone
+b6 origin/master
EOF
test_expect_success 'branch -vv' '
@@ -93,6 +95,13 @@ test_expect_success 'checkout (upstream is gone)' '
test_i18ngrep "is based on .*, but the upstream is gone." actual
'
+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_expect_success 'status (diverged from upstream)' '
(
cd test &&
@@ -113,6 +122,16 @@ test_expect_success 'status (upstream is gone)' '
test_i18ngrep "is based on .*, but the upstream is gone." actual
'
+test_expect_success 'status (up-to-date with upstream)' '
+ (
+ cd test &&
+ git checkout b6 >/dev/null &&
+ # reports nothing to commit
+ test_must_fail git commit --dry-run
+ ) >actual &&
+ test_i18ngrep "Your branch is up-to-date with .origin/master" actual
+'
+
cat >expect <<\EOF
## b1...origin/master [ahead 1, behind 1]
EOF
@@ -139,6 +158,19 @@ test_expect_success 'status -s -b (upstream is gone)' '
test_i18ncmp expect actual
'
+cat >expect <<\EOF
+## b6...origin/master
+EOF
+
+test_expect_success 'status -s -b (up-to-date with upstream)' '
+ (
+ cd test &&
+ git checkout b6 >/dev/null &&
+ git status -s -b | head -1
+ ) >actual &&
+ test_i18ncmp expect actual
+'
+
test_expect_success 'fail to track lightweight tags' '
git checkout master &&
git tag light &&