Gary King wrote:
Hi Robert,
On Sep 6, 2009, at 11:13 PM, Robert Goldman wrote:
Should I expect the *ASDF-REVISION* variable to work for me? Right now it's NIL. Is the definition of *ASDF-REVISION* a holdover from the CVS days, and no longer working, or is this YA case where there's something about git that I'm missing? Should I be doing something with the git pull that will get me a tags directory?
*asdf-revision* both works and doesn't work. The mechanism I found to fill in git related metavariables was `git archive`. This only files stuff in on the tarball and the linked version of asdf.lisp. The variables in the git repo that you get by cloning/pulling don't have the magic variables converted and so so *asdf-revision* isn't much help. In practice, this means that people who get ASDF via git directly don't get the revision number whereas people who get ASDF via the tarball or the source file do.
If there is a better way, I'm all eyes.
(this sounds rather gross, but maybe a post pull hook could grab that latest tag out of the repo and munge that into the source... ?)
Is there something I might not be doing (or we might not be doing as a community) that makes this not work? I have been pulling from your repository, but I don't *believe* that I have your tags (or do I)?
When I try `git describe --tags` I get no joy...
Is there any chance that you are not pushing your tags to the repository?
From a basis of complete ignorance, I have found the following:
http://www.question-defense.com/2009/03/13/software-revision-numbers-with-gi...
Which seems to indicate that you must do something beyond a normal push to get the tags into the shared repository. Are you doing this? If not, would you mind trying it?
I believe that if we were to get your tags into our clones of your repository, we could figure out a way to get the *ASDF-REVISION* set properly.
I note that the official stance seems to be that keyword substitution is "just totally idiotic" [Torvalds], http://www.gelato.unsw.edu.au/archives/git/0610/28891.html but that said I'm not sure how to replace it with something better. I'd like to be able to run ASDF from the git repository, and I'd also like to be able to do something like VERSION-SATISFIES based on the *ASDF-REVISION*.
Any reason why we shouldn't just butcher a version number string into the file when we release it, instead of doing the current rigamarole? Or is there a git wizard, who can supply a better alternative?