SZEDER Gábor venit, vidit, dixit 06.04.2017 16:33:
>> @@ -1779,6 +1780,31 @@ static void wt_shortstatus_print_tracking(struct
>> wt_status *s)
>> }
>>
>> color_fprintf(s->fp, header_color, "]");
>> +
>> + inprogress:
>> + if (!s->show_inprogress)
>> + goto conclude;
>> + memset(&state, 0, sizeof(state));
>> + wt_status_get_state(&state,
>> + s->branch && !strcmp(s->branch, "HEAD"));
>> + if (state.merge_in_progress)
>> + color_fprintf(s->fp, header_color, "; %s",
>> LABEL(N_("MERGING")));
>> + else if (state.am_in_progress)
>> + color_fprintf(s->fp, header_color, "; %s", LABEL(N_("AM")));
>> + else if (state.rebase_in_progress)
>> + color_fprintf(s->fp, header_color, "; %s",
>> LABEL(N_("REBASE-m")));
>> + else if (state.rebase_interactive_in_progress)
>> + color_fprintf(s->fp, header_color, "; %s",
>> LABEL(N_("REBASE-i")));
>> + else if (state.cherry_pick_in_progress)
>> + color_fprintf(s->fp, header_color, "; %s",
>> LABEL(N_("CHERRY-PICKING")));
>> + else if (state.revert_in_progress)
>> + color_fprintf(s->fp, header_color, "; %s",
>> LABEL(N_("REVERTING")));
>> + if (state.bisect_in_progress)
>
> else if?
No. You can do all of the above during a bisect.
>
>> + color_fprintf(s->fp, header_color, "; %s",
>> LABEL(N_("BISECTING")));
>> + free(state.branch);
>> + free(state.onto);
>> + free(state.detached_from);
>> +
>> conclude:
>> fputc(s->null_termination ? '\0' : '\n', s->fp);
>> }
>
> This reminded me of a patch that I have been using for almost two
> years now...
>
> git-prompt.sh's similar long conditional chain to show the ongoing
> operation has an else-branch at the end showing "AM/REBASE". Your
> patch doesn't add an equivalent branch. Is this intentional or an
> oversight?
I go over all states that wt_status_get_state can give.
> I suppose it's intentional, because that "AM/REBASE" branch in the
> prompt seems to be unreachable (see below), but I never took the
> effort to actually check that (hence the "seems" and that's why I
> never submitted it).
Note that wt_status_get_state and the prompt script do things quite
differently.
I suppose that the prompt could make use of the in-progress info being
exposed by "git status" rather doing its on thing.
Michael