chiark / gitweb /
git-debrebase: make_patches_staged: Return flag, are there any patches?
[dgit.git] / git-debrebase
index 529286e697c4d346313a54bf3228e3ce9b460814..74e50768deaac7d7d43b487254a6aade0dcc1a5e 100755 (executable)
@@ -494,6 +494,7 @@ sub gbp_pq_export ($$$) {
     # must be run in a workarea.  $bname and patch-queue/$bname
     # ought not to exist.  Leaves you on patch-queue/$bname with
     # the patches staged but not committed.
+    # returns 1 if there were any patches
     printdebug "gbp_pq_export $bname $base $tip\n";
     runcmd @git, qw(checkout -q -b), $bname, $base;
     runcmd @git, qw(checkout -q -b), "patch-queue/$bname", $tip;
@@ -503,7 +504,9 @@ sub gbp_pq_export ($$$) {
        { local ($!,$?); copy('../gbp-pq-err', \*STDERR); }
        failedcmd @gbp_cmd;
     }
-    runcmd @git, qw(add -f debian/patches) if stat_exists 'debian/patches';
+    return 0 unless stat_exists 'debian/patches';
+    runcmd @git, qw(add -f debian/patches);
+    return 1;
 }
 
 
@@ -2395,9 +2398,11 @@ sub make_patches_staged ($) {
     # laundered.
     my ($secret_head, $secret_bw, $last_anchor) = walk $head;
     fresh_workarea();
+    my $any;
     in_workarea sub {
-       gbp_pq_export 'bw', $secret_bw, $secret_head;
+       $any = gbp_pq_export 'bw', $secret_bw, $secret_head;
     };
+    return $any;
 }
 
 sub make_patches ($) {