From: Brian Gernhardt Date: Mon, 10 Nov 2008 20:58:35 GMT Subject: Re: Something like $Id$, $Revision$ or $Date$? Message-ID: <866D073C-57B9-457E-80BA-0C87B6D14E23@silverinsanity.com> In-Reply-To: <200811102132.05472.jnareb@gmail.com> On Nov 10, 2008, at 3:32 PM, Jakub Narebski wrote: > Dnia poniedziałek 10. listopada 2008 21:24, Francis Galiegue > napisał: >> Le Monday 10 November 2008 21:17:29 Jakub Narebski, vous avez >> écrit : > >>> Well, _some_ command has to be invoked to expand keywords. "git add" >>> doesn't do that (perhaps it should?), so you need to use checkout. >>> >> >> If "git add" aims to do that, you'd have to be very, VERY careful, >> not to >> substitute in the wrong place to start with, not to attempt >> substitution in >> binary files... >> >> And this would have a sizeable cost, imho. If you really want to do >> this, >> isn't there a hook somewhere that can do that for you, instead of >> modifying >> git add directly? > > If I remember correctly there was idea to add 'pre-add' or 'post-add' > hook... Without adding any additional hooks, you could use the post-commit hook to look for any added/changed files containing $Id$ lines and force a checkout of them. Perhaps something as simple as the following in your .git/hooks/post- commit (untested, caveat emptor, YMMV): git diff --name-only --diff-filter=AM HEAD^ HEAD | \ while read file; do rm "$file" && git checkout -- "$file" end ~~ Brian