[ANNOUNCE] Example Cogito Addon - cogito-bundle
Linus Torvalds
torvalds at osdl.org
Fri Oct 20 19:30:15 BST 2006
On Fri, 20 Oct 2006, Linus Torvalds wrote:
>
> So yes, merges are the situation where renames are normally considered a
> "problem", but it's actually not nearly the most every-day situation at
> all.
Btw, this is a pet peeve of mine, and it is not at all restricted to
the SCM world.
In CompSci in general, you see a _lot_ of papers about things that almost
don't matter - not because the issues are that important in practice, but
because the issues are something small enough to be something you can
discuss and explain without having to delve into tons of ugly detail, and
because it's something that has a lot of "mental masturbation" associated
with it - ie you can discuss it endlessly.
In the OS world, it's things like schedulers. You find an _inordinate_
number of papers on scheduling, considering that the actual algorithm then
tends to be something that can be expressed in a hundred lines of code or
so, but it's got quite high "mental masturbatory value" (hereafter called
MMV).
Other high-MMV areas are page-out algorithms (never mind that almost all
_real_ VM problems are elsewhere) and some zero-copy schemes (never mind
that if you actually need to _work_ with the data, zero-copy DMA may
actually be much worse because it ends up having bad cache behaviour).
In the SCM world, file renames and merging seem to be the high-MMV things.
Never mind that the real issues tend to be elsewhere (like _performance_
when you have a few thousand commits that you want to merge).
For example, in the kernel, I think about half of all merges are what git
calls "trivial in-index merges". That's HALF. Being a trivial in-index
merge means that there was not a single file-level conflict that even
needed a three-way merge, much less any study of the history AT ALL (other
than finding the common ancestor, of course).
Of the rest, most by far need some trivial 3-way merging. And the ones
that have trouble? In practice, that trivial and maligned 3-way does
_better_ than anything more complicated.
Yet, if you actually bother to follow all the discussion on #revctrl and
other places, what do you find discussed? Right: various high-MMV issues
like "staircase merge" etc crap.
Go to revctrl.org for prime example of this. I think half the stuff is
about merge algorithms, some of it is about glossary, and almost none of
it is about something as pedestrian and simple as performance and
scalability.
(Actually, to be honest, I think some of the #revctrl noise has become
better lately. I'm not seeing quite as much theoretical discussion, it may
be that as open-source distributed SCM's are getting to be more "real",
people start to slowly realize that the masturbatory crap isn't actually
what it's all about. So maybe at least this area is getting more about
real every-day problems, and less about the theoretical-but-not-very-
important issues).
Linus
More information about the bazaar
mailing list