On Thu, Oct 11, 2007 at 08:09:22AM -0700, Randal L. Schwartz wrote: > >>>>> "Peter" == Peter Karlsson <peter@xxxxxxxxxxxxxxxx> writes: > > Peter> I mainly want to have $Date$ expand in RCS/CVS manner, i.e to when the > Peter> file was last changed. Possibly even have an $Id$ that gives me > Peter> something useful (name and commit hash, perhaps?). Is it possible to do > Peter> this? Can it be done through git-cvsserver? > > That's not a job for a source code manager to do. It's a job for your > build/install tool. See how "git --version" gets created in the core distro, > and follow that example. > This looks like a misunderstanding of what $Date$ is used for: It has not much to do with a version number (such things are decisions by the developers), but it is an identification stamp, typically used to identify exactly which piece of code is involved in a given executable. Our group also needs a replacement for the keyword-expansion mechanism (we are using a nice little system, which allows for each executable produced to query it about the source-code-files involved in it, which is especially useful for testing and development, where many versions of many files float around (and perhaps some shouldn't)). The principle solution seems quite clear to me: Adapt the pre-commit hook, so that files are scanned for the keyword, and apply the keyword expansion then before the actual commit. Better than just the date, it would be greatest to be able to put also the SHA1-ID of the commit into the file, alas this is a bit complicated, since it's a pre-commit hook; However it seems necessary to have in the repository really the actual file content, not "modulo some modification", due to the distributed character of Git repositories (everybody should have the same file-timestamp), and so a post-commit hook shouldn't be used. So well, using the previous SHA1-ID should be a reasonable approximation. Oliver - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html