2014/1/5 Thomas Ackermann [off-list ref]:
Since f223459 "status: always show tracking branch even no change"
'git status' (and 'git checkout master' always says
"Your branch is up-to-date with 'origin/master'"
even if 'origin/master' is way ahead from local 'master'.
Hi, Thomas
Can you provide your operations so that I can reproduce this issue?
In the commit you mentioned above, there was a new test case named
'checkout (up-to-date with upstream)' added in 't6040'. I also add two
test-cases locally in order to reproduce the issue you report, and run
them in arbitrary orders, but they all look fine:
ok 4 - checkout (behind upstream)
ok 5 - checkout (ahead upstream)
ok 6 - checkout (diverged from upstream)
ok 7 - checkout with local tracked branch
ok 8 - checkout (upstream is gone)
ok 9 - checkout (up-to-date with upstream)
ok 10 - checkout (upstream is gone)
ok 11 - checkout with local tracked branch
ok 12 - checkout (diverged from upstream)
ok 13 - checkout (ahead upstream)
ok 14 - checkout (behind upstream)
ok 15 - checkout (diverged from upstream)
ok 16 - checkout (upstream is gone)
ok 17 - checkout (ahead upstream)
ok 18 - checkout with local tracked branch
ok 19 - checkout (behind upstream)
The two additional test cases I used locally are:
checkout_test1() {
test_expect_success 'checkout (behind upstream)' '
(
cd test && git checkout b3
) >actual &&
test_i18ngrep "is behind .* by 1 commit, and can be
fast-forwarded" actual
'
}
checkout_test_2() {
test_expect_success 'checkout (ahead upstream)' '
(
cd test && git checkout b4
) >actual &&
test_i18ngrep "is ahead of .* by 2 commits" actual
'
}
--
Jiang Xin