$Id$ (and $commit$) is reversible, @@COMMITID@@ is not. That means you
can create a synthetic file byte for byte with @@COMMITID@@ (and its not
yet implemented brethren), but you can't do that with $Id$ -- it's
impossible to get rid of the dollar signs.
I'm not attached to any particular syntax. It all started with
@@VERSION@@ from git.spec.in, which should not be implemented 1:1 anyway
(we'd need to be able to use arbitrary separators between version parts
to support different ways of ordering version numbers).
We could use $ to indicate reversible substitutions as before and @
(instead of @@) for one-way substitutions. I can't think of any other
use than in archives, though. It sure would be very confusing to have
such a conversion happen on checkout -- you'd need to use git-cat-file
to see the real file contents.
Ugh. Requiring another global variable doesn't smell like good design.
By the way, we already have a similar, but very different syntax: the
one format_commit_message in commit.c. It's a one-way conversion, too.
Maybe we should copy the relevant pieces like %H and %h from there..
Do we want git-archive specific one-way conversions that are capable of
creating files like git.spec? Or is this just a shiny toy hypnotizing
me? 8-)
René
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html