summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-14 15:10:05 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-06-16 12:25:49 +0100
commit5c0d9155bf5f2e9e945ba2a117074d31e9c4ae80 (patch)
treeda1ef825511d7865bc763dfd5666689e85aa6ac3
parent159801abf91d5a01537346fcb2e3e447dfef27cc (diff)
git-debrebase: fixes
-rwxr-xr-xgit-debrebase20
1 files changed, 11 insertions, 9 deletions
diff --git a/git-debrebase b/git-debrebase
index 982423a..c4fabe3 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -157,23 +157,23 @@ sub get_differs ($$) {
my $differs = 0;
my $rundiff = sub {
- my ($opts, $sfx, $fn) = @_;
- $opts //= [qw(--name-only)];
+ my ($opts, $limits, $fn) = @_;
my @cmd = (@git, qw(diff-tree -z --no-renames));
push @cmd, @$opts;
- push @cmd, "$_:$sfx" foreach $x, $y;
+ push @cmd, "$_:" foreach $x, $y;
+ push @cmd, @$limits;
my $diffs = cmdoutput @cmd;
foreach (split /\0/, $diffs) { $fn->(); }
};
- $rundiff->(undef, '', sub {
+ $rundiff->([qw(--name-only)], [], sub {
$differs |= $_ eq 'debian' ? D_DEB : D_UPS;
});
if ($differs & D_DEB) {
$differs &= ~D_DEB;
- $rundiff->(undef, ':debian', sub {
- $differs |= $_ eq 'patches' ? D_PAT_OTH : D_DEB;
+ $rundiff->([qw(--name-only -r)], [qw(debian)], sub {
+ $differs |= $_ eq m{^debian/patches/} ? D_PAT_OTH : D_DEB;
});
die "mysterious debian changes $x..$y"
unless $differs & (D_PAT_OTH|D_DEB);
@@ -186,11 +186,12 @@ sub get_differs ($$) {
$differs |= D_PAT_OTH;
no warnings qw(exiting); last;
};
- $rundiff->([qw(--name-status)], ':debian/patches', sub {
+ $rundiff->([qw(--name-status -r)], [qw(debian/patches/)], sub {
no warnings qw(exiting);
if (!defined $mode) {
$mode = $_; next;
}
+ die unless s{^debian/patches/}{};
my $ok;
if ($mode eq 'A' && !m/(?:^|\.)series$/s) {
$ok = 1;
@@ -486,10 +487,11 @@ sub walk ($;$$) {
$cur = $p0;
next;
} elsif ($ty eq 'Pseudomerge') {
- print $report " Contributor=$cl->{Contributor}" if $report;
+ my $contrib = $cl->{Contributor}{CommitId};
+ print $report " Contributor=$contrib" if $report;
push @pseudomerges, $cl;
$rewrite_from_here->();
- $cur = $ty->{Contributor};
+ $cur = $contrib;
next;
} elsif ($ty eq 'BreakwaterUpstreamMerge') {
$build_start->("PreviousBreakwater", $cur);