Am 11. April 2017 22:40:14 MESZ schrieb "Ævar Arnfjörð Bjarmason" <avarab@xxxxxxxxx>: >On Tue, Apr 11, 2017 at 5:13 PM, Enis Bayramoğlu ><enis@xxxxxxxxxxxxxxxxx> wrote: >>> Well, what do you suggest as an alternative? >>> >>> Git tells you that you are in detached state and where you came from >>> (detached from). >> >> I think it'd be best if git status somehow indicated that you're no >> longer at the same commit. Maybe something like: >> >> $ git status >> HEAD detached from origin/master, no longer at the same commit >> nothing to commit, working directory clean > >I'm not saying this is clear, I didn't know this until I read the code >just now, but for what it's worth it says "detached at" if you're >detached from BRANCH but at the same commit, and "detached from" if >you're now on a different commit. > That's what I explained in my first reply which the OP quoted in a chopped way. I think he even misquoted the git output he got. It's the difference between from and at. >> or, to be more informative >> >> HEAD detached from origin/master 1 commit ago, > >In lieu of that, which would need some of the rev-list machinery to be >invoked on every git-status, I wonder if just saying "HEAD detached & >diverged from origin/master" wouldn't be clearer: > >diff --git a/wt-status.c b/wt-status.c >index 308cf3779e..79c8cfd1cf 100644 >--- a/wt-status.c >+++ b/wt-status.c >@@ -1542,7 +1542,7 @@ static void wt_longstatus_print(struct wt_status >*s) > if (state.detached_at) > on_what = _("HEAD detached at "); > else >- on_what = _("HEAD detached from >"); >+ on_what = _("HEAD detached & >diverged from "); > } else { > branch_name = ""; > on_what = _("Not currently on any branch."); > > > No way. That would reduce the information that we give. Note that the difference between from and at is also: are there commits that we could lose when we switch away, that is: that git checkout would warn us about? Maybe improve the doc instead? > >> On Tue, Apr 11, 2017 at 5:55 PM, Michael J Gruber <git@xxxxxxxxx> >wrote: >>> Enis Bayramoğlu venit, vidit, dixit 11.04.2017 10:57: >>>> I've encountered a very misleading output from `git status`. Here's >a >>>> sequence of events that demonstrates the issue: >>>> >>>> $ git --version >>>> git version 2.12.0 >>>> >>>> $ git checkout origin/master >>>> >>>> $ git status >>>> HEAD detached from origin/master >>>> nothing to commit, working directory clean >>> >>> Hmm. My Git would display "detached at" here as long as you are on >the >>> commit that you detached from. >>> >>>> $ git merge --ff f3515b749be861b57fc70c2341c1234eeb0d5b87 >>>> >>>> $ git status >>>> HEAD detached from origin/master >>>> nothing to commit, working directory clean >>>> >>>> $ git rev-parse origin/master >>>> e1dc1baaadee0f1aef2d5c45d068306025d11f67 >>>> >>>> $ git rev-parse HEAD >>>> 786cb6dd09897e0950a2bdc971f0665a059efd33 >>>> >>>> I think it's extremely misleading that `git status` simply reports >>>> "HEAD detached from origin/master" while this simply happens to be >a >>>> mildly relevant fact about some past state. >>>> >>>> Thanks and regards >>>> >>> >>> Well, what do you suggest as an alternative? >>> >>> Git tells you that you are in detached state and where you came from >>> (detached from). >>> >>> Michael