Cauterize dropped or duplicate bits from next.

I am very sorry to do this, but without this funky octopus, "git
log --no-merges master..next" will show commits already merged
into "master" forever.

There are some commits on the next branch (which is never to be
rewound) that are reverts of other commits on the next branch.
They are to revert the finer grained delta experiments that
turned out to have undesirable performance effects.  Also there
are some other commits that were first done as a merge into
"next" (a pull request based on next) and then cherry picked
into master.  Since they are not going to be merged into
"master" ever, they will stay forever in "log master..next".

Yuck.

So this commit records the fact that the commits currently shown
by "git log --no-merges master..next" to be merged into "master"
are already in the master, either because they really are (in
the case of git-cvsserver bits, which needed cherry-picking into
"master"), or because they are fully reverted in "next" (in the
case of finer-grained delta bits).

Here is the way I made this commit:

 (1) Inspect "gitk --no-merges --parents master..next"

     This shows what git thinks are missing from master.  It
     shows chain of commits that are already merged and chain of
     commits whose net effect should amount to a no-op.

     Look at each commits and make sure they are either unwanted
     or already merged by cherry-picking.

 (2) Record the tip of branches that I do not want.  In this
     case, the following were unwanted:

     cfcbd3427e cvsserver
     c436eb8cf1 diff-delta
     38fd0721d0 diff-delta
     f0bcd511ee cvsserver
     2b8d9347aa diff-delta

 (3) Shorten the list by finding independent ones from the
     above.

     $ git show-branch --independent $the $above $tips
     
     cfcbd3427e
     c436eb8cf1

 (4) Checkout "master" and cauterize them with "ours" strategy:

     $ git merge -s ours "`cat $this-file`" HEAD cfcbd3 c436eb
This commit is contained in:
Junio C Hamano 2006-03-04 16:18:43 -08:00
commit 1c7fee5d08

Diff content is not available