Merge branch 'md/sort-detached-head-first'

"git branch --list" learned to always output the detached HEAD as
the first item (when the HEAD is detached, of course), regardless
of the locale.

* md/sort-detached-head-first:
  ref-filter: sort detached HEAD lines firstly
This commit is contained in:
Junio C Hamano 2019-07-09 15:25:42 -07:00
commit 92f66fd43b
3 changed files with 21 additions and 18 deletions

View File

@ -1471,35 +1471,35 @@ char *get_head_description(void)
struct wt_status_state state;
memset(&state, 0, sizeof(state));
wt_status_get_state(the_repository, &state, 1);
/*
* The ( character must be hard-coded and not part of a localizable
* string, since the description is used as a sort key and compared
* with ref names.
*/
strbuf_addch(&desc, '(');
if (state.rebase_in_progress ||
state.rebase_interactive_in_progress) {
if (state.branch)
strbuf_addf(&desc, _("(no branch, rebasing %s)"),
strbuf_addf(&desc, _("no branch, rebasing %s"),
state.branch);
else
strbuf_addf(&desc, _("(no branch, rebasing detached HEAD %s)"),
strbuf_addf(&desc, _("no branch, rebasing detached HEAD %s"),
state.detached_from);
} else if (state.bisect_in_progress)
strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
strbuf_addf(&desc, _("no branch, bisect started on %s"),
state.branch);
else if (state.detached_from) {
if (state.detached_at)
/*
* TRANSLATORS: make sure this matches "HEAD
* detached at " in wt-status.c
*/
strbuf_addf(&desc, _("(HEAD detached at %s)"),
state.detached_from);
strbuf_addstr(&desc, HEAD_DETACHED_AT);
else
/*
* TRANSLATORS: make sure this matches "HEAD
* detached from " in wt-status.c
*/
strbuf_addf(&desc, _("(HEAD detached from %s)"),
state.detached_from);
strbuf_addstr(&desc, HEAD_DETACHED_FROM);
strbuf_addstr(&desc, state.detached_from);
}
else
strbuf_addstr(&desc, _("(no branch)"));
strbuf_addstr(&desc, _("no branch"));
strbuf_addch(&desc, ')');
free(state.branch);
free(state.onto);
free(state.detached_from);

View File

@ -1676,9 +1676,9 @@ static void wt_longstatus_print(struct wt_status *s)
} else if (s->state.detached_from) {
branch_name = s->state.detached_from;
if (s->state.detached_at)
on_what = _("HEAD detached at ");
on_what = HEAD_DETACHED_AT;
else
on_what = _("HEAD detached from ");
on_what = HEAD_DETACHED_FROM;
} else {
branch_name = "";
on_what = _("Not currently on any branch.");

View File

@ -65,6 +65,9 @@ enum wt_status_format {
STATUS_FORMAT_UNSPECIFIED
};
#define HEAD_DETACHED_AT _("HEAD detached at ")
#define HEAD_DETACHED_FROM _("HEAD detached from ")
struct wt_status_state {
int merge_in_progress;
int am_in_progress;