summaryrefslogtreecommitdiff
path: root/builtin/branch.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2015-03-20 13:11:46 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2015-03-20 13:11:46 -0700
commit38f6ae90de2cedca6a4aaed13ecac365ffa9672c (patch)
treebd84ae2639dd8aa3701c8577e73f177e760a29ea /builtin/branch.c
parentMerge branch 'kn/git-cd-to-empty' (diff)
parentbranch: name detached HEAD analogous to status (diff)
downloadtgif-38f6ae90de2cedca6a4aaed13ecac365ffa9672c.tar.xz
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 'builtin/branch.c')
-rw-r--r--builtin/branch.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/builtin/branch.c b/builtin/branch.c
index 6a25957e9f..1d150378e9 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -589,9 +589,16 @@ static char *get_head_description(void)
else if (state.bisect_in_progress)
strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
state.branch);
- else if (state.detached_from)
- strbuf_addf(&desc, _("(detached from %s)"),
- state.detached_from);
+ else if (state.detached_from) {
+ /* TRANSLATORS: make sure these match _("HEAD detached at ")
+ and _("HEAD detached from ") in wt-status.c */
+ if (state.detached_at)
+ strbuf_addf(&desc, _("(HEAD detached at %s)"),
+ state.detached_from);
+ else
+ strbuf_addf(&desc, _("(HEAD detached from %s)"),
+ state.detached_from);
+ }
else
strbuf_addstr(&desc, _("(no branch)"));
free(state.branch);