diff options
author | Phillip Wood <phillip.wood@dunelm.org.uk> | 2020-11-04 16:29:38 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-11-04 23:10:41 +0100 |
commit | f3e27a02d598084a0ef5c8dd6b410bd6a5c5299f (patch) | |
tree | 9d85937d9d4cc649fa862b0d11cda79044d7bc7c /sequencer.c | |
parent | rebase -i: stop overwriting ORIG_HEAD buffer (diff) | |
download | git-f3e27a02d598084a0ef5c8dd6b410bd6a5c5299f.tar.xz git-f3e27a02d598084a0ef5c8dd6b410bd6a5c5299f.zip |
rebase -i: use struct object_id rather than looking up commit
We already have a struct object_id containing the oid that we want to
set ORIG_HEAD to so use that rather than converting it to a string and
then calling get_oid() on that string.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r-- | sequencer.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sequencer.c b/sequencer.c index 00acb12496..f79c3df861 100644 --- a/sequencer.c +++ b/sequencer.c @@ -3965,21 +3965,17 @@ static int run_git_checkout(struct repository *r, struct replay_opts *opts, static int checkout_onto(struct repository *r, struct replay_opts *opts, const char *onto_name, const struct object_id *onto, - const char *orig_head) + const struct object_id *orig_head) { - struct object_id oid; const char *action = reflog_message(opts, "start", "checkout %s", onto_name); - if (get_oid(orig_head, &oid)) - return error(_("%s: not a valid OID"), orig_head); - if (run_git_checkout(r, opts, oid_to_hex(onto), action)) { apply_autostash(rebase_path_autostash()); sequencer_remove_state(opts); return error(_("could not detach HEAD")); } - return update_ref(NULL, "ORIG_HEAD", &oid, NULL, 0, UPDATE_REFS_MSG_ON_ERR); + return update_ref(NULL, "ORIG_HEAD", orig_head, NULL, 0, UPDATE_REFS_MSG_ON_ERR); } static int stopped_at_head(struct repository *r) @@ -5314,7 +5310,7 @@ 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 char *orig_head, + struct commit *onto, const struct object_id *orig_head, struct string_list *commands, unsigned autosquash, struct todo_list *todo_list) { |