diff options
| author | Toon Claes <toon@iotcl.com> | 2026-04-01 22:55:12 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-04-01 21:34:25 -0700 |
| commit | 23d83f8ddbef9adcb87671358b473e55cf90c90b (patch) | |
| tree | 8e290170f9de89e1002f6c8f80cffbdd84934ba8 /builtin | |
| parent | 6542cacbb33490ab83ef87a5fbee694cd2863bdd (diff) | |
| download | git-23d83f8ddbef9adcb87671358b473e55cf90c90b.tar.xz | |
replay: allow to specify a ref with option --ref
When option '--onto' is passed to git-replay(1), the command will update
refs from the <revision-range> passed to the command. When using option
'--advance' or '--revert', the argument of that option is a ref that
will be updated.
To enable users to specify which ref to update, add option '--ref'. When
using option '--ref', the refs described above are left untouched and
instead the argument of this option is updated instead.
Because this introduces code paths in replay.c that jump to `out` before
init_basic_merge_options() is called on `merge_opt`, zero-initialize the
struct.
Signed-off-by: Toon Claes <toon@iotcl.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
| -rw-r--r-- | builtin/replay.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/builtin/replay.c b/builtin/replay.c index fbfeb780b6..39e3a86f6c 100644 --- a/builtin/replay.c +++ b/builtin/replay.c @@ -85,7 +85,7 @@ int cmd_replay(int argc, const char *const replay_usage[] = { N_("(EXPERIMENTAL!) git replay " "([--contained] --onto=<newbase> | --advance=<branch> | --revert=<branch>)\n" - "[--ref-action=<mode>] <revision-range>"), + "[--ref=<ref>] [--ref-action=<mode>] <revision-range>"), NULL }; struct option replay_options[] = { @@ -103,6 +103,10 @@ int cmd_replay(int argc, N_("branch"), N_("revert commits onto given branch"), PARSE_OPT_NONEG), + OPT_STRING_F(0, "ref", &opts.ref, + N_("branch"), + N_("reference to update with result"), + PARSE_OPT_NONEG), OPT_STRING_F(0, "ref-action", &ref_action, N_("mode"), N_("control ref update behavior (update|print)"), @@ -126,6 +130,8 @@ int cmd_replay(int argc, opts.contained, "--contained"); die_for_incompatible_opt2(!!opts.revert, "--revert", opts.contained, "--contained"); + die_for_incompatible_opt2(!!opts.ref, "--ref", + !!opts.contained, "--contained"); /* Parse ref action mode from command line or config */ ref_mode = get_ref_action_mode(repo, ref_action); |
