From 7bc6dfb448ed6279adb7a3eafa3dcc86a2c111b5 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 19 Aug 2018 20:44:29 +0100 Subject: git-debrebase: Merges: Enable with command-line option instead of env var Signed-off-by: Ian Jackson --- debian/changelog | 2 ++ git-debrebase | 5 +++-- git-debrebase.1.pod | 14 ++++++++++++++ tests/tests/gdr-merge | 2 +- tests/tests/gdr-merge-conflicts | 2 +- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 98c0383..614a576 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,8 @@ dgit (6.7~) unstable; urgency=medium not in series, because they will be deleted. Closes:#904997. * changelog: Add close note for #905400 to changelog entry for 6.5. * git-debrebase: convert-from-gbp: Improve messages. Closes:#906641. + * git-debrebase: Highly experimental merge resolution support, + enabled only with special command line option. -- diff --git a/git-debrebase b/git-debrebase index 36f73d7..706af54 100755 --- a/git-debrebase +++ b/git-debrebase @@ -50,7 +50,7 @@ usages: See git-debrebase(1), git-debrebase(5), dgit-maint-debrebase(7) (in dgit). END -our ($opt_force, $opt_noop_ok, @opt_anchors); +our ($opt_force, $opt_noop_ok, $opt_merges, @opt_anchors); our ($opt_defaultcmd_interactive); our $us = qw(git-debrebase); @@ -985,7 +985,7 @@ sub classify ($) { return $unknown->("octopus merge"); } - if (!$ENV{GIT_DEBREBASE_EXPERIMENTAL_MERGE}) { + if (!$opt_merges) { return $unknown->("general two-parent merge"); } @@ -2850,6 +2850,7 @@ getoptions_main 'anchor=s' => \@opt_anchors, '--dgit=s' => \($dgit[0]), 'force!', + 'experimental-merge-resolution!', \$opt_merges, '-i:s' => sub { my ($opt,$val) = @_; badusage "git-debrebase: no cuddling to -i for git-rebase" diff --git a/git-debrebase.1.pod b/git-debrebase.1.pod index ca81c19..7ad1ab9 100644 --- a/git-debrebase.1.pod +++ b/git-debrebase.1.pod @@ -496,6 +496,20 @@ This is provided mostly for the benefit of the test suite. Requests (more) debugging. May be repeated. +=item --experimntal-merge-resolution + +Enable experimental code for handling general merges +(see L). + +This option may generate branch structures that +require the use of this same option by other people. +Also you may experience lossage of various kinds, +including false error messages, +references to nonexistent documentation, +being handed an incomprehensible pile of +multidimensional merge wreckage, +and/or possible mangling of your package's source code. + =back =head1 UNSTITCHING AND LAUNDERING diff --git a/tests/tests/gdr-merge b/tests/tests/gdr-merge index 14a8237..d2df2b8 100755 --- a/tests/tests/gdr-merge +++ b/tests/tests/gdr-merge @@ -41,7 +41,7 @@ t-merge-conflicted-stripping-conflict-markers other debian/zorkmid t-expect-fail E:'general two-parent merge' \ t-git-debrebase -export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1 +t_gdr_xopts+=' --experimental-merge-resolution' : ----- expect to be able to merge ----- diff --git a/tests/tests/gdr-merge-conflicts b/tests/tests/gdr-merge-conflicts index 71be280..660415d 100755 --- a/tests/tests/gdr-merge-conflicts +++ b/tests/tests/gdr-merge-conflicts @@ -8,7 +8,7 @@ t-dependencies NO-DGIT GDR t-tstunt-parsechangelog t-setup-import gdr-convert-gbp-noarchive -export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1 +t_gdr_xopts+=' --experimental-merge-resolution' wreckage-before () { junkref=refs/debrebase/wreckage/junk -- cgit v1.2.3