From 89b1a1ae98da43d409b66aac174dcc6775190ade Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 18 Feb 2018 13:04:53 +0000 Subject: [PATCH] git-debrebase: be properly selective about StartRewrite Signed-off-by: Ian Jackson --- git-debrebase | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/git-debrebase b/git-debrebase index c32f257a..93bf46b4 100755 --- a/git-debrebase +++ b/git-debrebase @@ -572,8 +572,9 @@ sub walk ($;$$) { return (Msg => $ms); }; my $rewrite_from_here = sub { + my ($cl) = @_; my $sp_cl = { SpecialMethod => 'StartRewrite' }; - push @brw_cl, $sp_cl; + push @$cl, $sp_cl; push @processed, $sp_cl; }; my $cur = $input; @@ -623,7 +624,7 @@ sub walk ($;$$) { my $p0 = @{ $cl->{Parents} }==1 ? $cl->{Parents}[0]{CommitId} : undef; if ($ty eq 'AddPatches') { $cur = $p0; - $rewrite_from_here->(); + $rewrite_from_here->(\@upp_cl); next; } elsif ($ty eq 'Packaging' or $ty eq 'Changelog') { push @brw_cl, $cl; @@ -644,14 +645,14 @@ sub walk ($;$$) { }; $queue->(\@brw_cl, "debian"); $queue->(\@upp_cl, "upstream"); - $rewrite_from_here->(); + $rewrite_from_here->(\@brw_cl); $cur = $p0; next; } elsif ($ty eq 'Pseudomerge') { my $contrib = $cl->{Contributor}{CommitId}; print $report " Contributor=$contrib" if $report; push @pseudomerges, $cl; - $rewrite_from_here->(); + $rewrite_from_here->(\@upp_cl); $cur = $contrib; next; } elsif ($ty eq 'Anchor') { @@ -700,7 +701,7 @@ sub walk ($;$$) { " anchor") }; $prline->(" Import"); - $rewrite_from_here->(); + $rewrite_from_here->(\@brw_cl); $upp_limit //= $#upp_cl; # further, deeper, patches discarded $cur = $ovwr; next; -- 2.30.2