Thread (2 messages) flat view 2 messages, 2 authors, 2022-01-25

Re: [PATCH v2 10/14] rebase: cleanup reset_head() calls

From: Junio C Hamano <hidden>
Date: 2021-12-09 19:26:45

"Phillip Wood via GitGitGadget" [off-list ref] writes:
From: Phillip Wood <redacted>

If ORIG_HEAD is not set by passing RESET_ORIG_HEAD then there is no
need to pass anything for reflog_orig_head. In addition to the callers
fixed in this commit move_to_original_branch() also passes
reflog_orig_head without setting ORIG_HEAD. That caller is mistakenly
passing the message it wants to put in the branch reflog which is not
currently possible so we delay fixing that caller until we can pass
the message as the branch reflog.
As I hinted elsewhere, these rules should be spelled out in a
comment before "int reset_head(...)" either in reset.[ch].

For this particular one, I wonder if 

 (A) we can lose RESET_ORIG_HEAD bit and use the presence of
     reflog_orig_head to mean what that bit currently means, or

 (B) we keep the current code strucure, but make it a BUG() if
     a non-NULL reflog_orig_head is given without RESET_ORIG_HEAD
     bit set.


quoted hunk
Signed-off-by: Phillip Wood <redacted>
---
 builtin/rebase.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 3d78b5c8bef..fdd822c470f 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -675,7 +675,7 @@ static int run_am(struct rebase_options *opts)
 
 		reset_head(the_repository, &opts->orig_head,
 			   opts->head_name, 0,
-			   "HEAD", NULL, DEFAULT_REFLOG_ACTION);
+			   NULL, NULL, DEFAULT_REFLOG_ACTION);
 		error(_("\ngit encountered an error while preparing the "
 			"patches to replay\n"
 			"these revisions:\n"
@@ -1777,7 +1777,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
 			options.head_name ? options.head_name : "detached HEAD",
 			oid_to_hex(&options.onto->object.oid));
 		reset_head(the_repository, NULL, options.head_name,
-			   RESET_HEAD_REFS_ONLY, "HEAD", msg.buf, NULL);
+			   RESET_HEAD_REFS_ONLY, NULL, msg.buf, NULL);
 		strbuf_release(&msg);
 		ret = finish_rebase(&options);
 		goto cleanup;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help