Re: [PATCH 2/2] Add keyword unexpansion support to convert.c
- From
Robin H. Johnson <robbat2@gentoo.org>
- Date
- Apr 17, 2007, 23:56 UTC
- Message-ID
- <20070417235649.GE31488@curie-int.orbis-terrarum.net>
- In-Reply-To
- <Pine.LNX.4.64.0704171121090.5473@woody.linux-foundation.org>
On Tue, Apr 17, 2007 at 11:23:03AM -0700, Linus Torvalds wrote:
Show 10 quoted lines
> > Well, if the only keyword we support is $BlobId:$, then if the tree/object > > hasn't changed, then we still don't need to touch the object. > > > > Not so? > Correct. However, is that actually a useful expansion? > > Most of the time, I'd expect people to want things like "last committer, > time, story of their life" etc.. I don't think the SHA1 ID's are pretty > enough that anybody would ever want to see them. But yes, they are > certainly stable.
I'd certainly settle for having only $Blobid:$. It fits my requirements perfectly.
This is perhaps a reasonable wording of my requirement. "Files from from the VCS should contain a stable machine-usable identifier that is unique for that revision of the file, without post-processing to insert the identifier."
In the case of CVS, $Header$ contains the path and revision number of a file, which serve to identify the content uniquely.
In the case of Git, $BlobId$ fills the same requirement.
As for a usage case: - J.PEBKAC.User gets a a tree (from a tarball or GIT, we should gain the same output) - Copies some file outside of the tree (the user is NOT smart enough, and resists all reasonable attempts at edumacation) - Modifies said file outside of tree. - Contacts maintainer with entire changed file. - User vanishes off the internet.
The entire file he sent if it's CVS, contains a $Header$ that uniquely identifies the file (path and revision), and the maintainer can simply drop the file in, and 'cvs diff -r$OLDREV $FILE'. If it's git, the maintainer drops the file in, and does 'git diff $OLDSHA1 $FILE'.
-- Robin Hugh Johnson Gentoo Linux Developer & Council Member E-Mail : robbat2@gentoo.org GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85