chiark / gitweb /
dgit.1: drop remark about sbuild not building arch-independent
[dgit.git] / git-debrebase
index 7dde1e746f846279d026e6119f6a9d84dbfba224..781435861ecb05b1c816a440364425746abae6f7 100755 (executable)
@@ -3,7 +3,8 @@
 # Script helping make fast-forwarding histories while still rebasing
 # upstream deltas when working on Debian packaging
 #
-# Copyright (C)2017,2018 Ian Jackson
+# Copyright (C)2017-2019 Ian Jackson
+# Copyright (C)2019      Niko Tyni
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -120,7 +121,6 @@ our $playprefix = 'debrebase';
 our $rd;
 our $workarea;
 
-our @git = qw(git);
 our @dgit = qw(dgit);
 
 sub in_workarea ($) {
@@ -730,7 +730,7 @@ sub merge_series_patchqueue_convert ($$$) {
            open C, ">", "../mcommit" or confess "$!";
            print C $commit or confess "$!";
            close C or confess "$!";
-           $build = cmdoutput @git, qw(hash-object -w -t commit ../mcommit);
+           $build = hash_commit '../mcommit';
        }
        $result = $build;
        mwrecknote($wrecknotes, 'merged-result', $result);
@@ -1973,7 +1973,7 @@ sub cmd_new_upstream () {
        $new_version = (new Dpkg::Version "$spec_version-1", check => 1);
     }
 
-    my $new_upstream = shift @ARGV;
+    my $new_upstream = (@ARGV && $ARGV[0] !~ m{^-}) ? shift @ARGV : undef;
     my $new_upstream_version = upstreamversion  $new_version;
     my $new_upstream_used;
     ($new_upstream, $new_upstream_used) =
@@ -2662,7 +2662,7 @@ sub cmd_convert_from_dgit_view () {
        my $spec = shift @ARGV;
        my $commit = git_rev_parse "$spec^{commit}";
        push @upstreams, { Commit => $commit,
-                          Source => (f_ "%s, from command line", $ARGV[0]),
+                          Source => (f_ "%s, from command line", $spec),
                           Only => 1,
                         };
     }
@@ -2697,10 +2697,11 @@ END
     if (!@upstreams) {
        if ($do_tags) {
            my @tried;
-           my $ups_tag = upstream_commitish_search $version, \@tried;
-           if ($ups_tag) {
-               my $this = f_ "git tag %s", $tried[-1];
-               push @upstreams, { Commit => $ups_tag,
+           my ($ups_tag, $ups_rev) =
+               upstream_commitish_search $version, \@tried;
+           if ($ups_rev) {
+               my $this = f_ "git tag %s", $ups_tag;
+               push @upstreams, { Commit => $ups_rev,
                                   Source => $this,
                                 };
            } else {
@@ -2949,7 +2950,7 @@ getoptions_main
           'experimental-merge-resolution!', \$opt_merges,
           '-i:s' => sub {
               my ($opt,$val) = @_;
-              badusage f_ "%s: no cuddling to -i for git-rebase", $us
+              badusage f_ "%s: with git-debrebase, get-rebase -i option may only be followed by more options (as separate arguments)", $us
                   if length $val;
               confess if $opt_defaultcmd_interactive; # should not happen
               $opt_defaultcmd_interactive = [ qw(-i) ];