From: Ian Jackson Date: Sun, 18 Feb 2018 13:04:53 +0000 (+0000) Subject: git-debrebase: be properly selective about StartRewrite X-Git-Tag: archive/debian/5.0~140 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=a90cd66b7e31da80fc78134d39c143b3fa0106c8 git-debrebase: be properly selective about StartRewrite Signed-off-by: Ian Jackson --- 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;