From e5b0f5ddd4130e408391839bc9512eac55e38808 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 4 Jun 2016 15:25:23 +0100 Subject: [PATCH] Split brain: Start introducing gbp (split brain) quilt mode * Replace quilt_could_gbp with new calculation based on three calls to quiltify_trees_differ. * Reworked messages about quilt differences. * Start to provide the `gbp', `apply' and `dpm' quilt modes. Currently we crash with a die if any of these are used. Nevertheless, we allow `gbp' and `apply' to be specified. --- dgit | 60 ++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/dgit b/dgit index 0c8183dc..99cb7fe2 100755 --- a/dgit +++ b/dgit @@ -61,7 +61,7 @@ our $cleanmode; our $changes_since_version; our $rmchanges; our $quilt_mode; -our $quilt_modes_re = 'linear|smash|auto|nofix|nocheck'; +our $quilt_modes_re = 'linear|smash|auto|nofix|nocheck|gbp|apply'; our $we_are_responder; our $initiator_tempdir; @@ -2538,15 +2538,16 @@ sub quiltify_tree_sentinelfiles ($) { return $r; } -sub quilt_could_gbp ($$$) { - my ($userhead,$unapplied,$applied) = @_; - return - !(quiltify_trees_differ($userhead,$unapplied,1) & 01) && - (quiltify_trees_differ($userhead,$applied,1) & 01); +sub quiltify_splitbrain () { + # memoisation via git-reflog + my $may_apply = $quilt_mode =~ m/gbp|apply/; + die "xxx not yet implemented"; +# if ($may_apply && +# quiltify_trees_differ($userhead,)) {} } sub quiltify ($$$$) { - my ($clogp,$target,$unapplied,$oldtiptree) = @_; + my ($clogp,$target,$oldtiptree,$failsuggestion) = @_; # Quilt patchification algorithm # @@ -2684,12 +2685,7 @@ sub quiltify ($$$$) { foreach my $notp (@nots) { print STDERR "$us: ", $reportnot->($notp), "\n"; } - if (quilt_could_gbp($target,$unapplied,$oldtiptree)) { - print STDERR <>', ".pc/applied-patches") { $!==&ENOENT or die $!; -- 2.30.2