Re: Weird shallow-tree conversion state, and branches of shallow trees
From: Julian Phillips <hidden>
Date: 2016-06-15 22:43:04
On Mon, 16 Apr 2007, Andy Parkins wrote:
On Monday 2007 April 16 01:11, Bill Lear wrote:quoted
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!