# BreakwaterStart commits are also anchors in the terminology
# of git-debrebase(5), but they are untagged (and always
# manually generated).
+ #
+ # We cannot not tolerate any tagged linear commit (ie,
+ # BreakwaterStart commits tagged `[anchor:') because such a
+ # thing could result from an erroneous linearising raw git
+ # rebase of a merge anchor. That would represent a corruption
+ # of the branch. and we want to detect and reject the results
+ # of such corruption before it makes it out anywhere. If we
+ # reject it here then we avoid making the pseudomerge which
+ # would be needed to push it.
my $badanchor = sub { $unknown->("git-debrebase \`anchor' but @_"); };
@p == 2 or return $badanchor->("has other than two parents");
"[git-debrebase anchor: new upstream $new_upstream_version, merge]",
];
+ my $clogsignoff = cmdoutput qw(git show),
+ '--pretty=format:%an <%ae> %aD',
+ $new_bw;
+
# Now we have to add a changelog stanza so the Debian version
# is right.
die if unlink "debian";
* Update to new upstream version $new_upstream_version.
- --
+ -- $clogsignoff
END
close CN or die $!;
do_stitch($prose);
}
+sub cmd_quick () {
+ badusage "no arguments allowed" if @ARGV;
+ do_launder_head 'launder for git-debrebase quick';
+ do_stitch 'quick';
+}
+
sub cmd_conclude () {
+ my ($ffq_prev, $gdrlast, $ffq_prev_commitish) = ffq_prev_info();
+ if (!$ffq_prev_commitish) {
+ fail "No ongoing git-debrebase session." unless $opt_noop_ok;
+ return;
+ }
+ my $dangling_head = get_head();
+
badusage "no arguments allowed" if @ARGV;
- do_launder_head 'launder for conclude';
- do_stitch 'conclude';
+ do_launder_head 'launder for git-debrebase quick';
+ do_stitch 'quick';
}
sub cmd_convert_from_gbp () {