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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html