mbox series

[v3,0/2] bisect: status improvements when bisect is not fully fleshed out

Message ID cover.1652291688.git.chris@chrisdown.name (mailing list archive)
Headers show
Series bisect: status improvements when bisect is not fully fleshed out | expand

Message

Chris Down May 11, 2022, 6 p.m. UTC
When bisecting, we currently don't output anything before bisection
starts in earnest, which can result in some confusion. For example, in
the case illustrated in the first commit in this patch series, it's
trivial to accidentally misspell a tag or branch and accidentally end up
in an unintended state with no clear indication about what happened.

This patch series makes it so that we give information about bisect
state even before the bisect is ready to begin. We also store these
changes in state to the bisect log.

v2:

- Move to improve bisect output overall, instead of just warning for the
  specific unintended pathspec case.

v3:

- Fix test indentation
- Rename bs to state
- Use `unsigned int' for nr_{good,bad}
- Pass the bisect state struct as an argument into bisect_print_status
- Zero-initialise bisect_state directly, don't use memset()
- Fix multiline comment style in bisect.h
- Use strbuf in bisect_log_printf
- Change `git bisect log' use an output file in tests instead of piping

Chris Down (2):
  bisect: output state before we are ready to compute bisection
  bisect: output bisect setup status in bisect log

 bisect.h                    |  9 +++++
 builtin/bisect--helper.c    | 69 ++++++++++++++++++++++++++++++-------
 t/t6030-bisect-porcelain.sh | 28 +++++++++++++++
 3 files changed, 93 insertions(+), 13 deletions(-)

Comments

Junio C Hamano May 11, 2022, 7:41 p.m. UTC | #1
Chris Down <chris@chrisdown.name> writes:

> When bisecting, we currently don't output anything before bisection
> starts in earnest, which can result in some confusion. For example, in
> the case illustrated in the first commit in this patch series, it's
> trivial to accidentally misspell a tag or branch and accidentally end up
> in an unintended state with no clear indication about what happened.
>
> This patch series makes it so that we give information about bisect
> state even before the bisect is ready to begin. We also store these
> changes in state to the bisect log.
>
> v2:
>
> - Move to improve bisect output overall, instead of just warning for the
>   specific unintended pathspec case.
>
> v3:
>
> - Fix test indentation
> - Rename bs to state
> - Use `unsigned int' for nr_{good,bad}
> - Pass the bisect state struct as an argument into bisect_print_status
> - Zero-initialise bisect_state directly, don't use memset()
> - Fix multiline comment style in bisect.h
> - Use strbuf in bisect_log_printf
> - Change `git bisect log' use an output file in tests instead of piping

Will replace.  Unless there are more inputs, let's merge it to
'next'.  This round looks more than good enough to me.

Thanks.