From: Ian Jackson Date: Wed, 14 Jun 2017 23:18:12 +0000 (+0100) Subject: git-debrebase: introduce build_start X-Git-Tag: archive/debian/5.0~345 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=85644f90c4b887d4b60b175f6cda8446e1e5bd29;hp=6751d0fc1a0a3228fb62ef65206aebcc57b2acdf git-debrebase: introduce build_start --- diff --git a/git-debrebase b/git-debrebase index 35787156..7b64bf51 100755 --- a/git-debrebase +++ b/git-debrebase @@ -342,6 +342,12 @@ sub walk { push @brw_cl, $sp_cl; push @processed, $sp_cl; }; + my $build_start = sub { + my ($msg, $parents) = @_; + $prline->(" $msg"); + push @brw_cl, { ExactlyParents => $parents }; + no qw(exiting); last; + }; my $cur = $input; @@ -365,9 +371,7 @@ sub walk { for (;;) { if (!defined $cur) { - push @brw_cl, { ExactlyParents => [] }; - $prline->("Origin"); - last; + $build_start->('Origin', []); } $cl = classify $cur; my $ty = $cl->{Type}; @@ -385,8 +389,7 @@ sub walk { $cur = $p0; next; } elsif ($ty eq 'BreakwaterStart') { - push @brw_cl, { ExactlyParents => [$cur] }; - last; + $build_start('FirstPackaging',[$cur]}; } elsif ($ty eq 'Upstream') { push @upp_cl, $cl; $cur = $p0; @@ -409,9 +412,7 @@ sub walk { $cur = $ty->{Contributor}; next; } elsif ($ty eq 'BreakwaterUpstreamMerge') { - push @brw_cl, { ExactlyParents => [$cur] }; - $prline->("PreviousBreakwater"); - last; + $build_start->("PreviousBreakwater", [$cur]); } elsif ($ty eq 'DgitImportUnpatched') { my $pm = $pseudomerges[-1]; if (defined $pm) { @@ -471,12 +472,10 @@ sub walk { # is already in valid breakwater format, with the # patches as commits. printf $report " NoPM" if $report; - $prline->(" ImportOrigin"); # last thing we processed will have been the first patch, # if there is one; which is fine, so no need to rewrite # on account of this import - push @brw_cl, { ExactlyParents => [$cur] }; - last; + $build_start->("ImportOrigin",[$cur]); } die "$ty ?"; } else {