chiark / gitweb /
Split brain pseudomerge: Test $overwrite_version for definedness
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 22 Sep 2016 11:39:01 +0000 (12:39 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 26 Sep 2016 00:16:59 +0000 (01:16 +0100)
Technically, `0' is a valid version number, but it is falsish.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit

diff --git a/dgit b/dgit
index 57c0e5c9fc1c7a9323f9b03cd839b8634a83a8d1..451985db3859a10dfc36912d30d9c4192b673659 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -2408,7 +2408,7 @@ END
 
     return $dgitview unless defined $archive_hash;
 
-    if ($overwrite_version) {
+    if (defined $overwrite_version) {
        progress "Declaring that HEAD inciudes all changes in archive...";
        progress "Checking that $overwrite_version does so...";
        $cond_equal->([ $overwrite_version, '--overwrite= version' ],
@@ -2429,7 +2429,7 @@ END
 
     $cond_equal->($i_dgit, $i_archive);
     $cond_ff->($i_dep14, $i_dgit);
-    $overwrite_version or $cond_ff->($i_dep14, [ $maintview, 'HEAD' ]);
+    $overwrite_version // $cond_ff->($i_dep14, [ $maintview, 'HEAD' ]);
 
     my $tree = cmdoutput qw(git rev-parse), "${dgitview}:";
     my $authline = clogp_authline $clogp;
@@ -2445,7 +2445,7 @@ author $authline
 commiter $authline
 
 END
-    if ($overwrite_version) {
+    if (defined $overwrite_version) {
        print MC <<END;
 Declare fast forward from $overwrite_version