Jakub Narebski <jnareb@xxxxxxxxx> writes: > The reason why git doesn't support keywords like $Revision$ or $Date$ > is performance: the $Revision$ and $Date$ are keywords related to > _commit_ data, not blob data. In my case identifying content not commit would be even better. > 1. You can try to use either hooks (post-commit, post-update I think) > or smudge / clean filters (via gitattributes) to do keyword > expansion. This hits performance, and you probably would have the > problems CVS ad with keyword expansion. Earlier in the thread there was following code for a pre-commit hook mentioned: #v+ files=$(git diff-index --name-only --diff-filter=AM HEAD) perl -pi -e 's/\$Id.*?\$/\$Id: '$(TZ=UTC date +%s)' \$/g' $files git add $files #v- Now, this meats all my needs except that (i) it adds all the files that were modified (ie. makes `git commit` work like `git commit -a`) and (ii) it modifies files even if the commit was aborted. So, it seems that, what I need is: (i) a pre-commit-post-message-hook and (ii) a way to get a list of files that are being committed. > 2. You can use `export-subst` gitattribute and make git-archive do > keyword expansion, which can include things like '$Format:%aD$' > for commit date (equivalent of $Date:$?). > > 3. You can run some local equivalent of GIT-VERSION-GEN script git > and Linux kernel uses, and make your build system (Makefile) > replace '@@VERSION@@' or '++VERSION++' keywords / placeholders > as part of compiling process. That would work but the thing is I'd like to have visioning without the need of creating releases or doing some other voodoo magic -- simply `scp file remote:file` or attach to an email. -- Best regards, _ _ .o. | Liege of Serenly Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michal "mina86" Nazarewicz (o o) ooo +--<mina86*tlen.pl>--<jid:mina86*jabber.org>--ooO--(_)--Ooo--
Attachment:
pgprF8OH9Mpvm.pgp
Description: PGP signature