chiark / gitweb /
git-debrebase: merge: test suite: Drop check of no wreckage save
[dgit.git] / git-debrebase
index 589fa901af95f5b1158f850b205e9defc20331ac..2a28e720b43d3712fb2910902375fb5113e6370b 100755 (executable)
@@ -154,6 +154,14 @@ our $snags_summarised = 0;
 our @deferred_updates;
 our @deferred_update_messages;
 
+sub merge_wreckage_cleaning ($) {
+    my ($updates) = @_;
+    git_for_each_ref("$wrecknoteprefix/*", sub {
+       my ($objid,$objtype,$fullrefname,$reftail) = @_;
+       push @$updates, "delete $fullrefname";
+    });
+}
+
 sub all_snags_summarised () {
     $snags_forced + $snags_tripped == $snags_summarised;
 }
@@ -162,6 +170,7 @@ sub run_deferred_updates ($) {
 
     confess 'dangerous internal error' unless all_snags_summarised();
 
+    merge_wreckage_cleaning \@deferred_updates;
     run_ref_updates_now $mrest, \@deferred_updates;
     print $_, "\n" foreach @deferred_update_messages;
 
@@ -383,10 +392,7 @@ sub merge_failed ($$) {
 
     if ($opt_save_wreckage) {
        my @updates;
-       git_for_each_ref("$wrecknoteprefix/*", sub {
-            my ($objid,$objtype,$fullrefname,$reftail) = @_;
-            push @updates, "delete $fullrefname";
-        });
+       merge_wreckage_cleaning \@updates;
        keys %$wrecknotes;
        while (my ($k,$v) = each %$wrecknotes) {
            push @updates, "create $wrecknoteprefix/$k $v";