From 125e2aeb263d8db6efec22935bf1648715c690db Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 15 Jun 2019 11:49:17 +0100 Subject: dgit: Support split view in non-splitting quilt modes Provide --split-view|brain=auto|always|never and the corresponding access cfg option .split-view. This is not documented or tested yet. Signed-off-by: Ian Jackson --- dgit | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dgit b/dgit index f79e3cf..51bd648 100755 --- a/dgit +++ b/dgit @@ -80,6 +80,8 @@ our $rmchanges; our $overwrite_version; # undef: not specified; '': check changelog our $quilt_mode; our $quilt_modes_re = 'linear|smash|auto|nofix|nocheck|gbp|dpm|unapplied'; +our $splitview_mode; +our $splitview_modes_re = qr{auto|always|never}; our $dodep14tag; our %internal_object_save; our $we_are_responder; @@ -969,8 +971,21 @@ sub notpushing () { sub determine_whether_split_brain () { my ($format,) = get_source_format(); + + { + local $access_forpush; + default_from_access_cfg(\$splitview_mode, 'split-view', 'auto', + $splitview_modes_re); + $do_split_brain = 1 if $splitview_mode eq 'always'; + } + printdebug "format $format, quilt mode $quilt_mode\n"; + if (madformat_wantfixup($format) && quiltmode_splitting()) { + $splitview_mode ne 'never' or + fail f_ "dgit: quilt mode \`%s' (for format \`%s')". + " implies split view, but split-view set to \`%s'", + $quilt_mode, $format, $splitview_mode; $do_split_brain = 1; } $do_split_brain //= 0; @@ -7324,6 +7339,12 @@ sub parseopts () { } elsif (m/^--overwrite$/s) { push @ropts, $_; $overwrite_version = ''; + } elsif (m/^--split-(?:view|brain)$/s) { + push @ropts, $_; + $splitview_mode = 'always'; + } elsif (m/^--split-(?:view|brain)=($splitview_modes_re)$/s) { + push @ropts, $_; + $splitview_mode = $1; } elsif (m/^--overwrite=(.+)$/s) { push @ropts, $_; $overwrite_version = $1; -- cgit v1.2.3