diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2019-06-15 11:49:17 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2019-06-28 16:59:49 +0100 |
commit | 125e2aeb263d8db6efec22935bf1648715c690db (patch) | |
tree | c14368f4531a158347fec9032ee1759a69116b45 /dgit | |
parent | bdfe1ad904785df17f77676353ced353d360fc00 (diff) |
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 <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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; |