On 13/03/2022 07:58, Junio C Hamano wrote:
"John Cai via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes:
diff --git a/reset.c b/reset.c
index e3383a93343..f8e32fcc240 100644
--- a/reset.c
+++ b/reset.c
@@ -101,6 +101,9 @@ int reset_head(struct repository *r, const struct reset_head_opts *opts)
if (opts->branch_msg && !opts->branch)
BUG("branch reflog message given without a branch");
+ if (switch_to_branch && opts->flags & RESET_HEAD_DETACH)
It's just style thing but it probably is easier to read to have
an extra () around the bitwise-&.
+ BUG("attempting to detach HEAD when branch is given");
I wonder if there is a valid use case NOT to use RESET_HEAD_DETACH
when switch_to_branch == NULL. If there isn't, it could be that
we can get rid of RESET_HEAD_DETACH bit and base this decision
solely on switch_to_branch'es NULLness.
"rebase --skip" and "rebase --autostash" are two such uses I think
Best Wishes
Phillip