chiark / gitweb /
git-debrebase: abolish $pseudos_must_overwrite_this
[dgit.git] / git-debrebase
index 87d605b6e50e7d0a75ef9a0dc5fa74afd077aba0..e2a1a325ed3bb02fa978483f4965bd0610a8710a 100755 (executable)
 #  refs/ffqrebase-prev/BRANCH    BRANCH may be refs/...; if not it means
 #  refs/ffqrebase-base/BRANCH      refs/heads/BRANCH
 #                               zero, one, or both of these may exist
-s
+#
 # git-debrebase without start, if already started, is willing
 # to strip pseudomerges provided that they overwrite exactly
 # the previous HEAD
 #  xxxx is this right ?  what matters is have we pushed
+#    I think in fact the right answer is:
+#       git-debrebase always strips out pseudomerges from its branch
+#       a pseudomerge is put in at the time we want to push
+#       at that time, we make a pseudomerge of the remote tracking
+#           branch (if raw git) or the dgit view (if dgit)
+#       for raw git git-ffqrebase, do want preciseley to record
+#           value of remote tracking branch or our branch, on start, so we
+#           overwrite only things we intend to
 #  the previous pseudomerge    check for tags and remote branches ?
 
 use strict;
@@ -292,8 +300,8 @@ sub classify ($) {
     return $unknown->("complex merge");
 }
 
-sub walk ($$$;$$$) {
-    my ($input, $pseudos_must_overwrite_this, $wantdebonly,
+sub walk ($$;$$$) {
+    my ($input, $wantdebonly,
        $report, $depth, $report_anomaly, $report_only) = @_;
     # go through commits backwards
     # we generate two lists of commits to apply
@@ -354,16 +362,6 @@ sub walk ($$$;$$$) {
            $rewrite_from_here->();
            next;
        } elsif ($ty eq 'Pseudomerge') {
-           if (defined $pseudos_must_overwrite_this &&
-               !grep {
-                   is_fast_fwd $pseudos_must_overwrite_this, $_->{CommitId}
-               },
-               @{ $cl->{Overwritten} }) {
-               $report_anomaly->($cl,
-                                 "Pseudomerge should overwrite".
-                                 " $pseudos_must_overwrite_this".
-                                 " but does not do so");
-           }
            push @pseudomerges, $cl;
            $rewrite_from_here->();
            $cur = $ty->{Contributor};