From d70807ddc00b2d3313076fe81264db36a6c00260 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 31 Jan 2018 16:34:06 +0000 Subject: [PATCH] git-debrebase: new-upstream-v0: support passing git-rebase options Signed-off-by: Ian Jackson --- git-debrebase | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/git-debrebase b/git-debrebase index 86958820..b3a78ae2 100755 --- a/git-debrebase +++ b/git-debrebase @@ -21,6 +21,7 @@ # git-debrebase new-upstreams-v0 \ # NEW-VERSION ORIG-COMMITISH # [EXTRA-ORIG-NAME EXTRA-ORIG-COMMITISH ...] +# [] # usages: # git-debrebase status @@ -816,16 +817,14 @@ sub cmd_analyse () { } sub cmd_new_upstream_v0 () { - # xxx would like to support more git-rebase options - badusage - "need NEW-VERSION UPS-COMMITISH [EXTRA-UPS-NAME EXTRA-UPS-COMMITISH...]" - unless @ARGV % 2 == 0 and @ARGV >= 2; # tree should be clean and this is not checked # automatically and unconditionally launders before rebasing # if rebase --abort is used, laundering has still been done my %pieces; + badusage "need NEW-VERSION UPS-COMMITTISH" unless @ARGV >= 2; + # parse args - low commitment my $new_version = (new Dpkg::Version scalar(shift @ARGV), check => 1); my $new_upstream_version = $new_version->version(); @@ -853,8 +852,12 @@ sub cmd_new_upstream_v0 () { OldIx => 0, New => $new_upstream, ); - while (@ARGV) { + while (@ARGV && $ARGV[0] !~ m{^-}) { my $n = shift @ARGV; + + badusage "for each EXTRA-UPS-NAME need EXTRA-UPS-COMMITISH" + unless @ARGV && $ARGV[0] !~ m{^-}; + my $c = git_rev_parse shift @ARGV; die unless $n =~ m/^$extra_orig_namepart_re$/; $newpiece->($n, New => $c); @@ -1000,7 +1003,7 @@ END update_head_postlaunder $old_head, $old_laundered_tip, 'launder for new upstream'; - my @cmd = (@git, qw(rebase --onto), $new_bw, $old_bw); + my @cmd = (@git, qw(rebase --onto), $new_bw, $old_bw, @ARGV); runcmd @cmd; # now it's for the user to sort out } -- 2.30.2