Re: [PATCH] status: show in-progress info for short status
- From
Michael J Gruber <git@grubix.eu>
- Date
- Apr 7, 2017, 14:05 UTC
- Message-ID
- <33eebca1-b78f-1e9c-539c-120e32ecfded@grubix.eu>
- In-Reply-To
- <20170406143342.14770-1-szeder.dev@gmail.com>
SZEDER Gábor venit, vidit, dixit 06.04.2017 16:33:
Show 26 quoted lines
>> @@ -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.
Show 17 quoted lines
>
>> + 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