See git-debrebase(1), git-debrebase(5), dgit-maint-debrebase(7) (in dgit).
END
-our ($opt_force, $opt_careful, $opt_noop_ok, @opt_anchors);
+our ($opt_force, $opt_noop_ok, $opt_merges, @opt_anchors);
our ($opt_defaultcmd_interactive);
-$opt_careful = 0;
-
our $us = qw(git-debrebase);
our $wrecknoteprefix = 'refs/debrebase/wreckage';
}
-# xxx allow merge resolution separately from laundering, before git merge
+# MERGE-TODO allow merge resolution separately from laundering, before git merge
# later/rework?
# use git-format-patch?
runcmd @git, qw(checkout -q -b mergec), $merged_pq;
merge_attempt_cmd($wrecknotes, qw(gbp pq import));
+ # MERGE-TODO consider git-format-patch etc. instead,
+ # since gbp pq doesn't always round-trip :-/
# OK now we are on patch-queue/merge, and we need to rebase
# onto the intended parent and drop the patches from each one
return $unknown->("octopus merge");
}
- if (!$ENV{GIT_DEBREBASE_EXPERIMENTAL_MERGE}) {
+ if (!$opt_merges) {
return $unknown->("general two-parent merge");
}
# which was reachable via ffq-prev is no longer findable.
# This is suboptimal, but if it all works we'll have done
# the right thing.
- # xxx we should warn the user in the docs about this
+ # MERGE-TODO we should warn the user in the docs about this
my $ok=1;
my $best_anchor;
printdebug "WALK REWRITING NOW cl=$cl procd=$procd\n";
}
}
- if ($rewriting || $opt_careful) {
+ if ($rewriting) {
read_tree_upstream $want_upstream, 0, $want_debian;
my $newtree = cmdoutput @git, qw(write-tree);
sub cmd_record_resolved_merge () {
badusage "record-resolved-merge takes no further arguments" if @ARGV;
- # xxx needs documentation
+ # MERGE-TODO needs documentation
my $new = get_head();
my $method;
'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"