From: Thomas Ackermann
Date: Mon, 06 Jan 2014 08:24:29 GMT
Subject: Aw: Re: [Bug report] 'git status' always says "Your branch is up-to-date with 'origin/master'"
Message-ID: <1963290835.719443.1388996669450.JavaMail.ngmail@webmail15.arcor-online.net>
Hi Jiang,
this happens with all of my repo clones (I am using V1.8.5.2
on Windows and on Linux). Steps to reproduce:
mkdir repo_a && cd repo_a && git init .
echo "1">foo && git add foo && git commit -m "1"
cd ..
git clone repo_a repo_b
cd repo_a
echo "2">foo && git add foo && git commit -m "2"
cd ../repo_b
git status
git checkout -b "branch"
git checkout master
'git status' and 'git checkout master' in repo_b are now
reporting "Your branch is up-to-date with 'origin/master'"
which is obviously wrong.
---
Thomas
----- Original Nachricht ----
Von: Jiang Xin
An: Thomas Ackermann
Datum: 06.01.2014 06:31
Betreff: Re: [Bug report] 'git status' always says "Your branch is up-to-date
with 'origin/master'"
> 2014/1/5 Thomas Ackermann :
> > 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
>
---
Thomas