diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-12 01:36:59 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-12 01:45:19 +0100 |
commit | 6a7d91dc81cbc8922bebc4930991902a9a00da79 (patch) | |
tree | 4288d9fcab764b5b11d97dbdb888987d333a395d | |
parent | 97b08388e773fb6c89817f583ea75dd0098f988a (diff) |
git-debrebase: merge: Actually record merge resolutions
And, destroy it on scrap.
Nothing consumes this yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-x | git-debrebase | 8 | ||||
-rwxr-xr-x | tests/tests/gdr-merge-conflicts | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/git-debrebase b/git-debrebase index 09e0907..96966ad 100755 --- a/git-debrebase +++ b/git-debrebase @@ -56,6 +56,7 @@ our ($opt_defaultcmd_interactive); our $us = qw(git-debrebase); our $wrecknoteprefix = 'refs/debrebase/wreckage'; +our $merge_cache_ref = 'refs/debrebase/merge-resolutions'; $|=1; @@ -2216,6 +2217,10 @@ sub cmd_scrap () { "update $gdrlast $ffq_prev_commitish $git_null_obj", "update $ffq_prev $git_null_obj $ffq_prev_commitish"; } + if (git_get_ref $merge_cache_ref) { + push @deferred_updates, + "delete $merge_cache_ref"; + } if (!@deferred_updates) { fail "No ongoing git-debrebase session." unless $opt_noop_ok; finish 0; @@ -2622,6 +2627,7 @@ END sub cmd_record_resolved_merge () { badusage "record-resolved-merge takes no further arguments" if @ARGV; + # xxx needs documentation my $new = get_head(); my $method; @@ -2631,8 +2637,8 @@ sub cmd_record_resolved_merge () { my $maybe = sub { print "Seems to be $method.\n"; }; my $yes = sub { my ($key, $ref) = @_; + reflog_cache_insert $merge_cache_ref, $key, $ref; print "OK. You can switch branches and try git-debrebase again.\n"; - confess "todo $ref"; # xxx 1; }; diff --git a/tests/tests/gdr-merge-conflicts b/tests/tests/gdr-merge-conflicts index f0abea7..12e7055 100755 --- a/tests/tests/gdr-merge-conflicts +++ b/tests/tests/gdr-merge-conflicts @@ -112,7 +112,6 @@ git commit -m FIX git reset --hard git clean -xdff -t-expect-fail F:todo \ t-git-debrebase record-resolved-merge git checkout master |