git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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--
Previous: Jakub NarebskiNext: Jakub Narebski
Message 12 of 18 in “Something like $Id$, $Revision$ or $Date$?”
  1. Michal NazarewiczNov 10, 2008
  2. Sverre RabbelierNov 10, 2008
  3. Michal NazarewiczNov 10, 2008
  4. dhruvaNov 10, 2008
  5. Michal NazarewiczNov 10, 2008
  6. Johannes SixtNov 10, 2008
  7. Johannes SchindelinNov 10, 2008
  8. dhruvaNov 10, 2008
  9. Michal NazarewiczNov 10, 2008
  10. Francis GaliegueNov 10, 2008
  11. Jakub NarebskiNov 10, 2008
  12. Michal NazarewiczNov 10, 2008
  13. Jakub NarebskiNov 10, 2008
  14. Michal NazarewiczNov 10, 2008
  15. Jakub NarebskiNov 10, 2008
  16. Francis GaliegueNov 10, 2008
  17. Jakub NarebskiNov 10, 2008
  18. Brian GernhardtNov 10, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.