Re: Something like $Id$, $Revision$ or $Date$?
- From
Michal Nazarewicz <mina86@tlen.pl>
- Date
- Nov 10, 2008, 09:49 UTC
- Message-ID
- <8763mvoqqc.fsf@erwin.mina86.com>
- In-Reply-To
- <e3f230850811091943k63e4a93n566402458a6947dd@mail.gmail.com>
> On Mon, Nov 10, 2008 at 6:46 AM, Michal Nazarewicz <mina86@tlen.pl> wrote: >> I would like the "$Id$" sequences to be updated automatically after >> a commit (ie. without the need to check out).
dhruva <dhruvakm@gmail.com> writes:
Show 11 quoted lines
> There is no direct way to get this $Id$ expansion in git, however you
> can use a simple pre-commit hook (alpha state, more a proof of concept
> that happens to work for me)
>
> #!/usr/bin/env bash
>
> for file in `git diff-index --name-only --diff-filter=AM HEAD` ; do
> perl -pi -e 's/(\$[ \t]*Id)(.*)([ \t]*\$)/"\$Id: git
> ".time()." \$"/e' ${file}
> git add ${file} > /dev/null
> doneIn fact the following works just as well:
#v+ files=$(git diff-index --name-only --diff-filter=AM HEAD) perl -pi -e 's/\$\s*Id.*?\$/\$Id: git '$(TZ=UTC date +%s)' \$/g' $files git add $files #v-
But then again, it has two unpleasant side effects: (i) all modified files are added and (ii) if I abort a commit the file stays modified. (i) can be fixed by removing "git add" but then again (iii) even files which are not committed will be modified.
-- 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--