diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-01-31 16:34:06 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-06-16 12:25:49 +0100 |
commit | d70807ddc00b2d3313076fe81264db36a6c00260 (patch) | |
tree | beee1328bc06c78f0705d79ce761f1a550ef7dd4 /git-debrebase | |
parent | 5e05a8f7605034ee94826bd72688f544c965f74c (diff) |
git-debrebase: new-upstream-v0: support passing git-rebase options
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'git-debrebase')
-rwxr-xr-x | git-debrebase | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/git-debrebase b/git-debrebase index 8695882..b3a78ae 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 ...] +# [<git-rebase options>] # 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 } |