chiark / gitweb /
dgit: Break out determine_whether_split_brain
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 03bf6c370995d8862c015e1687217e886f28df4a..d09ae5f4cac57ca520f839d1c5fd2272912afe02 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -173,7 +173,7 @@ autoflush STDOUT 1;
 
 our $supplementary_message = '';
 our $made_split_brain = 0;
-our $do_split_brain = 0;
+our $do_split_brain;
 
 # Interactions between quilt mode and split brain
 # (currently, split brain only implemented iff
@@ -6360,12 +6360,18 @@ sub build_or_push_prep_early () {
     $dscfn = dscfn($version);
 }
 
-sub build_or_push_prep_modes () {
+sub determine_whether_split_brain () {
     my ($format,) = get_source_format();
     printdebug "format $format, quilt mode $quilt_mode\n";
     if (madformat_wantfixup($format) && quiltmode_splitbrain()) {
        $do_split_brain = 1;
     }
+    $do_split_brain //= 0;
+}
+
+sub build_or_push_prep_modes () {
+    determine_whether_split_brain();
+
     fail __ "dgit: --include-dirty is not supported in split view quilt mode"
        if do_split_brain() && $includedirty;
 }