From: Shawn O. Pearce Date: Wed, 23 May 2007 05:22:20 GMT Subject: Re: Commit ID in exported Tar Ball Message-ID: <20070523052220.GC28023@spearce.org> In-Reply-To: <46538065.9080705@lsrfire.ath.cx> Ren?? Scharfe wrote: > $Id$ (and $commit$) is reversible, @@COMMITID@@ is not. That means you > can create a synthetic file byte for byte with @@COMMITID@@ (and its not > yet implemented brethren), but you can't do that with $Id$ -- it's > impossible to get rid of the dollar signs. Yes, and that's one of the big problems with the $Id$ syntax so commonly used by versioning systems. Most files you want to insert that automatic id into want a clean id string, not something that starts with $Id: and ends with $... Since we are apparently supporting $Foo: ...$ to collapse back to $Foo$ reusing that syntax for git-archive is actually probably a bad idea. We should support the checkout filters in git-archive (as much as possible anyway) but what this thread has been going on is something quite different... so we probably want a different syntax. Which is why I'm also in favor of the @@COMMITID@@ syntax... > > (1) introduce "const unsigned char commit_in_focus[20]", > > globally available to git suite, and clear it at the > > beginning of main(); > > Ugh. Requiring another global variable doesn't smell like good design. I agree. We already have a lot of globals. We need another one like we need a hole in the head. Especially a global like this one... ;-) > Do we want git-archive specific one-way conversions that are capable of > creating files like git.spec? Or is this just a shiny toy hypnotizing > me? 8-) But aren't shiny toys fun? ;-) -- Shawn.