First of all, cset -x is functionally equivalent to what you call
undo -x. They do the same thing. Second of all, cset -x is _much_
better. It does the same thing without introducing any new diffs
into the history. Go get a test tree, make a changeset, clone
the tree, cset -x the changeset, and diff the revision history files.
All you will see is something like this:
^Ad D 1.32 02/02/20 09:50:05 lm 33 32
The "^Ax 32" line says "exclude the change who's serial number is 32".
No reverse diffs applied to the file. Much nicer. Merges work like
this too, in reverse, it just includes the branch deltas.
But all of this misses the real point - Linus, with justification, doesn't
want the revision history cluttered up with
Remove Idea 1.
Remove Idea 2.
But we need some way to let changes get into the system so others can review
them, test them, merge them with their stuff and test, etc. But then when
they are found to be wanting, we need a way to tell other people that those
csets are verboten.
I'm open to suggestions, this is a much harder problem than it appears
because of the fact that the revision histories are all replicas
possibly with local data. Unlike CVS, there is no one place to go to
edit the RCS files and obliterate some change.
----- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to email@example.com More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/