Shachar Shemesh <shac...@shemesh.biz> writes: > I understand why these keywords were useful for CVS/RCS, where each > file had its own version number. When working with SVN, however, a > single number uniquely identifies the entire source tree. Why not > have that one number and get it done with?
I believe it has been asked and answered, Your Honour ;-). Having a single number is enough only under a whole bunch of assumptions: the code must come from a single branch of a single repository, the build and release systems must be 100% reliable, no human mistake may occur on the way between develper workstation and customer deployment, etc., etc. The same argument is employed by the gcc team who say - either in the bug trail Nadav quoted or in the mailing list thread Ghiora (I think... sorry if I am mixing it up) found - that it is enough for their purposes so it must be enough for everybody. I say that with all the complexity of gcc their case is conceptually simple (a single piece of software from a single repository) and their build/release process is probably better than most. I assume that I do not have to explain to everybody that the difficulties inherent in changing processes in an organization are significant, legacy structures and processes abound, and every device that helps flushing problems early, quickly, and with minimal pain is worth deploying. So, my conclusion is that gcc at present has a problem. By applying an optimization that cannot be turned off it makes an assumption that it is smarter than the user[1] (isn't this a complaint typically aimed at, say, Microsoft Office? hmphhh...), and an important use case that is disabled by said optimization is dismissed, in part, on the grounds that the gcc team didn't need it in gcc code. This last paragraph is, of course, me venting. At people who are in no way to blame. That was easy, and helpful - thanks everybody! [1] Hey, we see that this variable cannot possibly be used by any program of which it is a part of, so we'll assume you are either stupid or careless and we'll just erase it without trace. Well, I am not stupid, I intended this variable to be used by another program to which this program is but an input, and you know what: it's none of the compiler's business to decide that I cannot possibly want that. -- Oleg Goldshmidt | p...@goldshmidt.org _______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il