diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-03-20 13:11:46 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-03-20 13:11:46 -0700 |
commit | 38f6ae90de2cedca6a4aaed13ecac365ffa9672c (patch) | |
tree | bd84ae2639dd8aa3701c8577e73f177e760a29ea /wt-status.c | |
parent | d6c988ddfacd49edf1eb16084af36062d8eb7121 (diff) | |
parent | 4b06318664638d306cad920fd86eb63b69739310 (diff) | |
download | git-38f6ae90de2cedca6a4aaed13ecac365ffa9672c.tar.gz |
Merge branch 'mg/detached-head-report'
"git branch" on a detached HEAD always said "(detached from xyz)",
even when "git status" would report "detached at xyz". The HEAD is
actually at xyz and haven't been moved since it was detached in
such a case, but the user cannot read what the current value of
HEAD is when "detached from" is used.
* mg/detached-head-report:
branch: name detached HEAD analogous to status
wt-status: refactor detached HEAD analysis
Diffstat (limited to 'wt-status.c')
-rw-r--r-- | wt-status.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/wt-status.c b/wt-status.c index 422dc0e70c..7036fa28dc 100644 --- a/wt-status.c +++ b/wt-status.c @@ -1242,6 +1242,8 @@ static void wt_status_get_detached_from(struct wt_status_state *state) state->detached_from = xstrdup(find_unique_abbrev(cb.nsha1, DEFAULT_ABBREV)); hashcpy(state->detached_sha1, cb.nsha1); + state->detached_at = !get_sha1("HEAD", sha1) && + !hashcmp(sha1, state->detached_sha1); free(ref); strbuf_release(&cb.buf); @@ -1330,10 +1332,8 @@ void wt_status_print(struct wt_status *s) on_what = _("rebase in progress; onto "); branch_name = state.onto; } else if (state.detached_from) { - unsigned char sha1[20]; branch_name = state.detached_from; - if (!get_sha1("HEAD", sha1) && - !hashcmp(sha1, state.detached_sha1)) + if (state.detached_at) on_what = _("HEAD detached at "); else on_what = _("HEAD detached from "); |