summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-02-09 00:16:47 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-06-16 12:25:49 +0100
commit63911b5d576e7250c132d117c53e66aaf34b7f47 (patch)
tree3a626057df3455d2f4090bdd5fe2d900db058051
parentc67e1d4470f98bb98365e54c9e872b05b7da6b45 (diff)
git-debrebase: capture breakwater tip
-rwxr-xr-xgit-debrebase12
1 files changed, 9 insertions, 3 deletions
diff --git a/git-debrebase b/git-debrebase
index 6542c65..fbb9732 100755
--- a/git-debrebase
+++ b/git-debrebase
@@ -343,6 +343,7 @@ sub launder ($$$) {
mkdir $rd or $!==EEXIST or die $!;
my $current_method;
foreach my $cl (qw(Debian), (reverse @deb_cl),
+ { SpecialMethod => 'RecordBreakwaterTip' },
qw(Upstream), (reverse @ups_cl)) {
if (!ref $cl) {
$current_method = $cl;
@@ -358,6 +359,10 @@ sub launder ($$$) {
} elsif ($method eq 'StartRewrite') {
$rewriting = 1;
next;
+ } elsif ($method eq 'RecordBreakwaterTip') {
+ last if $wantdebonly;
+ $breakwater = $build;
+ next;
} elsif ($method eq 'DgitImportDebianUpdate') {
$read_tree_debian->($cltree);
$rm_tree_cached(qw(debian/patches));
@@ -396,7 +401,7 @@ sub launder ($$$) {
map { $wantdebonly ? "$_:debian" : $_ },
$input, $build;
- return $build;
+ return ($build, $breakwater);
}
sub get_head () { return git_rev_parse qw(HEAD); }
@@ -408,8 +413,9 @@ sub update_head ($$) {
sub cmd_launder () {
my $old = get_head();
- my $got = launder $old, 0, undef, 0;
- update_head $old, $new, 'launder'; # no tree changes!
+ my ($tip,$breakwater) = launder $old, 0, undef, 0;
+ update_head $old, $tip, 'launder'; # no tree changes!
+ printf "# breakwater tip:\n%s\n", $breakwater;
}
my $toplevel = runcmd @git, qw(rev-parse --show-toplevel);