chiark / gitweb /
git-debrebase: rebase fixes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 21 Jun 2017 20:44:35 +0000 (21:44 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Jun 2018 11:25:49 +0000 (12:25 +0100)
git-debrebase

index e83822c..b3b5ea6 100755 (executable)
@@ -106,6 +106,7 @@ use strict;
 
 use Memoize;
 use Carp;
+use POSIX;
 use Data::Dumper;
 
 use Debian::Dgit qw(:DEFAULT $wa);
@@ -353,13 +354,6 @@ sub walk {
        $prdelim = "\n";
     };
 
-    my $build_start = sub {
-       my ($msg, $parent) = @_;
-       $prline->(" $msg");
-       $build = $parent;
-       no warnings qw(exiting); last;
-    };
-
     my $bomb = sub { # usage: return $bomb->();
        print $report " Unprocessable" if $report;
        $prprdelim->();
@@ -370,6 +364,14 @@ sub walk {
     };
 
     my $build;
+    my $breakwater;
+
+    my $build_start = sub {
+       my ($msg, $parent) = @_;
+       $prline->(" $msg");
+       $build = $parent;
+       no warnings qw(exiting); last;
+    };
 
     for (;;) {
        $cl = classify $cur;
@@ -529,7 +531,6 @@ sub walk {
                next;
            } elsif ($method eq 'RecordBreakwaterTip') {
                $breakwater = $build;
-               last if $wantbrwonly;
                next;
            } elsif ($method eq 'DgitImportDebianUpdate') {
                $read_tree_debian->($cltree);
@@ -565,9 +566,7 @@ sub walk {
        }
     };
 
-    runcmd @git, qw(diff-tree --quiet),
-       map { $wantdebonly ? "$_:debian" : $_ }
-       $input, $build;
+    runcmd @git, qw(diff-tree --quiet), $input, $build;
 
     return ($build, $breakwater);
 }