# 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
our $rd;
our $workarea;
-our @git = qw(git);
our @dgit = qw(dgit);
sub in_workarea ($) {
$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) =
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,
};
}
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 {
'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) ];