diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-02-09 00:16:47 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-06-16 12:25:49 +0100 |
commit | 63911b5d576e7250c132d117c53e66aaf34b7f47 (patch) | |
tree | 3a626057df3455d2f4090bdd5fe2d900db058051 | |
parent | c67e1d4470f98bb98365e54c9e872b05b7da6b45 (diff) |
git-debrebase: capture breakwater tip
-rwxr-xr-x | git-debrebase | 12 |
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); |