Re: Something like $Id$, $Revision$ or $Date$?
- From
Michal Nazarewicz <mina86@tlen.pl>
- Date
- Nov 10, 2008, 17:38 UTC
- Message-ID
- <8763mvlbwb.fsf@erwin.mina86.com>
- In-Reply-To
- <m3iqqvefmo.fsf@localhost.localdomain>
Jakub Narebski <jnareb@gmail.com> 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.
Show 8 quoted lines
> 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--