rebase -i: use struct object_id when writing state

Rather than passing a string around pass the struct object_id that the
string was created from call oid_hex() when we write the file.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Phillip Wood 2020-11-04 15:29:39 +00:00 committed by Junio C Hamano
parent f3e27a02d5
commit a2bb10d06d
3 changed files with 7 additions and 5 deletions

View File

@ -296,7 +296,8 @@ static int get_revision_ranges(struct commit *upstream, struct commit *onto,
} }


static int init_basic_state(struct replay_opts *opts, const char *head_name, static int init_basic_state(struct replay_opts *opts, const char *head_name,
struct commit *onto, const char *orig_head) struct commit *onto,
const struct object_id *orig_head)
{ {
FILE *interactive; FILE *interactive;


@ -340,7 +341,7 @@ static int do_interactive_rebase(struct rebase_options *opts, unsigned flags)


if (init_basic_state(&replay, if (init_basic_state(&replay,
opts->head_name ? opts->head_name : "detached HEAD", opts->head_name ? opts->head_name : "detached HEAD",
opts->onto, head_hash)) { opts->onto, &opts->orig_head)) {
free(revisions); free(revisions);
free(shortrevisions); free(shortrevisions);



View File

@ -2692,7 +2692,7 @@ static void write_strategy_opts(struct replay_opts *opts)
} }


int write_basic_state(struct replay_opts *opts, const char *head_name, int write_basic_state(struct replay_opts *opts, const char *head_name,
struct commit *onto, const char *orig_head) struct commit *onto, const struct object_id *orig_head)
{ {
if (head_name) if (head_name)
write_file(rebase_path_head_name(), "%s\n", head_name); write_file(rebase_path_head_name(), "%s\n", head_name);
@ -2700,7 +2700,8 @@ int write_basic_state(struct replay_opts *opts, const char *head_name,
write_file(rebase_path_onto(), "%s\n", write_file(rebase_path_onto(), "%s\n",
oid_to_hex(&onto->object.oid)); oid_to_hex(&onto->object.oid));
if (orig_head) if (orig_head)
write_file(rebase_path_orig_head(), "%s\n", orig_head); write_file(rebase_path_orig_head(), "%s\n",
oid_to_hex(orig_head));


if (opts->quiet) if (opts->quiet)
write_file(rebase_path_quiet(), "%s", ""); write_file(rebase_path_quiet(), "%s", "");

View File

@ -227,7 +227,7 @@ int read_author_script(const char *path, char **name, char **email, char **date,
int allow_missing); int allow_missing);
void parse_strategy_opts(struct replay_opts *opts, char *raw_opts); void parse_strategy_opts(struct replay_opts *opts, char *raw_opts);
int write_basic_state(struct replay_opts *opts, const char *head_name, int write_basic_state(struct replay_opts *opts, const char *head_name,
struct commit *onto, const char *orig_head); struct commit *onto, const struct object_id *orig_head);
void sequencer_post_commit_cleanup(struct repository *r, int verbose); void sequencer_post_commit_cleanup(struct repository *r, int verbose);
int sequencer_get_last_command(struct repository* r, int sequencer_get_last_command(struct repository* r,
enum replay_action *action); enum replay_action *action);