From: Delanoe Eric Date: Tue, 02 May 2017 13:33:58 GMT Subject: RE: Could GIT manage revision headers embedded in code ? Message-ID: <135C7A92C7D64E488B830ADC2970C70132AE7442@SVGEA-EMAIL.gea.fr> In-Reply-To: Thank you for your quick answer. And great answer ! I'm looking forward to try this. Thanks again and best regards, E.Delanoë -----Message d'origine----- De : Christian Couder [mailto:christian.couder@gmail.com] Envoyé : mardi 2 mai 2017 14:11 À : Delanoe Eric Cc : git@vger.kernel.org Objet : Re: Could GIT manage revision headers embedded in code ? Hi, On Tue, May 2, 2017 at 1:48 PM, Delanoe Eric wrote: > Hello, > > We need a great deal of traceability for our source, made of many scripts in interpreted languages, spread in many "independent" modules, as far as can be ;-). > In particular, somebody troubleshooting a script in production should be able to know exactly the revision or commit ID (or tag label) of a given file, and its location in the GIT source directory tree. > > Our old CVS... let's say it was its only advantage... was doing this with keywords embedded in code comments: $Header$, $Id$, $Rev$, $File$ etc... When a file was committed, its $Header$ keyword was expanded into a rich piece of "version" information like '' $Header: /cvsstore/SourcesOracle/Install/COMMUN/CST.sql,v 1.69.2.10 2017/04/14 09:38:48 edelanoe $". > > Could this kind of "keyword expansion" feature be added into GIT ? You can already do it with "smudge" and "clean" filters. Look for "Keyword Expansion" in: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes