chiark / gitweb /
dgit: Reject dgit pull in split brain mode
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 89b14df7fb4e7ea58f5bf8fc327293150132bde4..36e0a2b6afba0e14da5a9a7574c00424b7ccc71a 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -967,6 +967,15 @@ sub notpushing () {
     parseopts_late_defaults();
 }
 
+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 supplementary_message ($) {
     my ($msg) = @_;
     if (!$we_are_responder) {
@@ -4826,7 +4835,8 @@ sub cmd_fetch {
 sub cmd_pull {
     parseopts();
     fetchpullargs();
-    if (quiltmode_splitbrain()) {
+    determine_whether_split_brain();
+    if (do_split_brain()) {
        my ($format, $fopts) = get_source_format();
        madformat($format) and fail f_ <<END, $quilt_mode
 dgit pull not yet supported in split view mode (--quilt=%s)
@@ -6361,12 +6371,8 @@ sub build_or_push_prep_early () {
 }
 
 sub build_or_push_prep_modes () {
-    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;
+    determine_whether_split_brain();
+
     fail __ "dgit: --include-dirty is not supported in split view quilt mode"
        if do_split_brain() && $includedirty;
 }