On Mon, 16 Apr 2007, Andy Parkins wrote:
On Monday 2007 April 16 01:11, Bill Lear wrote:
Not that Linus needs any back-up from me, but I second this, very
strongly. Decorating source code with release information is a proper
function of release management tools, not the SCM system. We had a
similar argument in our company about this, sparked by a criticism of
git for not having keyword (version number) substitution, and I argued
that having such substitution functions in the SCM was out-of-place
and a crutch for weak release procedures. It's easy with a proper
make system to put whatever information you want from the SCM into the
release product.
I'm not disagreeing with any of this - there are certainly cases when
expansion is completely the wrong tool. That doesn't mean there are no cases
where it would be useful.
The case I keep banging on about is that where nothing is made and this is not
a release. I don't want to make a release, I just want to print out the
current version of a file and have something that appears on the printout
that would allow me to identify what version of the file that printout was
from. Are you seriously suggesting I should run release scripts just for
that?
It's not something you want - fine - not a problem for me that you wouldn't
use it. The thing that is bothering me is that everyone keeps waving their
hands while chanting "keyword expansion evil", while not giving an example of
what problem it causes. By this I mean "problem for the end user",
not "problem in writing the support" - if it's impractical to implement then
that's fine, say that.
What I don't understand is why the people who want keyword expansion don't
simply write a little wrapper script, a keyworded git as it were (you
could even call it gitk for maximum confusion :P).
In the script you simply:
1) collapse all keywords
2) call appropriate git function
3) expand keywords again
wouldn't that do what people want without having to change the git code at
all? You could probably even get it into contrib ..
(In the case of gentoo, you could even change the ebuild so that the real
git is installed as raw_git or something, and the wrapper is installed as
git - though personally I wouldn't want to do that)
--
Julian
---
You may get an opportunity for advancement today. Watch it!
-
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