diff mbox series

[5/5] rebase: remove unused parameter

Message ID c8a92d4242b4dfad71297d1eec9c3ef658641193.1631108472.git.gitgitgadget@gmail.com (mailing list archive)
State Superseded
Headers show
Series rebase -i: a couple of small improvements | expand

Commit Message

Phillip Wood Sept. 8, 2021, 1:41 p.m. UTC
From: Phillip Wood <phillip.wood@dunelm.org.uk>

Now that we use reset_head() we don't need to pass orig_head around.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
---
 builtin/rebase.c |  3 +--
 sequencer.c      | 12 +++++-------
 sequencer.h      |  5 ++---
 3 files changed, 8 insertions(+), 12 deletions(-)

Comments

Johannes Schindelin Sept. 9, 2021, 10:54 a.m. UTC | #1
Hi Phillip,

On Wed, 8 Sep 2021, Phillip Wood via GitGitGadget wrote:

> From: Phillip Wood <phillip.wood@dunelm.org.uk>
>
> Now that we use reset_head() we don't need to pass orig_head around.

Does this indicate a change in behavior? When we call `update_ref()` with
the original `HEAD`, we get some version of safety in that it will fail if
anything changed the ref in an unexpected way in the meantime.

Ciao,
Dscho
Phillip Wood Sept. 9, 2021, 2:04 p.m. UTC | #2
Hi Dscho

On 09/09/2021 11:54, Johannes Schindelin wrote:
> Hi Phillip,
> 
> On Wed, 8 Sep 2021, Phillip Wood via GitGitGadget wrote:
> 
>> From: Phillip Wood <phillip.wood@dunelm.org.uk>
>>
>> Now that we use reset_head() we don't need to pass orig_head around.
> 
> Does this indicate a change in behavior? When we call `update_ref()` with
> the original `HEAD`, we get some version of safety in that it will fail if
> anything changed the ref in an unexpected way in the meantime.

Good point, it looks like that was overlooked when the am rebase 
starting using reset_head(). There are already too many arguments to 
reset_head(), I'll look at changing it (in a separate commit) to take a 
struct of options instead.

Best Wishes

Phillip

> Ciao,
> Dscho
>
diff mbox series

Patch

diff --git a/builtin/rebase.c b/builtin/rebase.c
index 12f093121d9..1520f75a491 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -377,8 +377,7 @@  static int do_interactive_rebase(struct rebase_options *opts, unsigned flags)
 		split_exec_commands(opts->cmd, &commands);
 		ret = complete_action(the_repository, &replay, flags,
 			shortrevisions, opts->onto_name, opts->onto,
-			&opts->orig_head, &commands, opts->autosquash,
-			&todo_list);
+			&commands, opts->autosquash, &todo_list);
 	}
 
 	string_list_clear(&commands, 0);
diff --git a/sequencer.c b/sequencer.c
index 1a9dbc70d3c..a7ea60a7a82 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -4193,8 +4193,7 @@  int apply_autostash_oid(const char *stash_oid)
 }
 
 static int checkout_onto(struct repository *r, struct replay_opts *opts,
-			 const char *onto_name, const struct object_id *onto,
-			 const struct object_id *orig_head)
+			 const char *onto_name, const struct object_id *onto)
 {
 	const char *action = reflog_message(opts, "start", "checkout %s", onto_name);
 
@@ -5567,9 +5566,8 @@  static int skip_unnecessary_picks(struct repository *r,
 
 int complete_action(struct repository *r, struct replay_opts *opts, unsigned flags,
 		    const char *shortrevisions, const char *onto_name,
-		    struct commit *onto, const struct object_id *orig_head,
-		    struct string_list *commands, unsigned autosquash,
-		    struct todo_list *todo_list)
+		    struct commit *onto, struct string_list *commands,
+		    unsigned autosquash, struct todo_list *todo_list)
 {
 	char shortonto[GIT_MAX_HEXSZ + 1];
 	const char *todo_file = rebase_path_todo();
@@ -5616,7 +5614,7 @@  int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla
 
 		return error(_("nothing to do"));
 	} else if (res == -4) {
-		checkout_onto(r, opts, onto_name, &onto->object.oid, orig_head);
+		checkout_onto(r, opts, onto_name, &onto->object.oid);
 		todo_list_release(&new_todo);
 
 		return -1;
@@ -5644,7 +5642,7 @@  int complete_action(struct repository *r, struct replay_opts *opts, unsigned fla
 
 	res = -1;
 
-	if (checkout_onto(r, opts, onto_name, &oid, orig_head))
+	if (checkout_onto(r, opts, onto_name, &oid))
 		goto cleanup;
 
 	if (require_clean_work_tree(r, "rebase", "", 1, 1))
diff --git a/sequencer.h b/sequencer.h
index cdeb0c6be47..352b24014bb 100644
--- a/sequencer.h
+++ b/sequencer.h
@@ -163,9 +163,8 @@  void todo_list_add_exec_commands(struct todo_list *todo_list,
 				 struct string_list *commands);
 int complete_action(struct repository *r, struct replay_opts *opts, unsigned flags,
 		    const char *shortrevisions, const char *onto_name,
-		    struct commit *onto, const struct object_id *orig_head,
-		    struct string_list *commands, unsigned autosquash,
-		    struct todo_list *todo_list);
+		    struct commit *onto, struct string_list *commands,
+		    unsigned autosquash, struct todo_list *todo_list);
 int todo_list_rearrange_squash(struct todo_list *todo_list);
 
 /*