tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: git copies of cvs modules available

2009/10/14 Rhialto <>:
> On Wed 14 Oct 2009 at 15:06:29 +0200, Holger Weià wrote:
>> * Adam Hoka <> [2009-10-14 13:47]:
>> > On 10/14/09 04:44, Eric Gillespie wrote:
>> > >Rhialto<> Âwrites:
>> > >>(There has been a very heated discussion among GIT people why keyword
>> > >>expansion is supposed to be evil. They are not going to be convinced to
>> > >>implement it. I am very annoyed by that.)
>> > >
>> > >They are evil. ÂEvil evil evil evil. ÂEVIL! ÂNo modern system
>> > >supports them, nor are they likely, and we're all the better
>> > >for it.
>> >
>> > hg supports it
>> These days, Git actually supports the expansion of $Id$ on checkout and
>> allows for implementing other stuff yourself, too; see gitattributes(5).
> Yes, but the $Id$ that it supports is a hash value which is absolutely
> meaningless to a human reader.

Not that the CVS version is much more meaningful.

It somehow encodes the history of the file but it's only possible
because CVS branches are hopelessly static and don't reflect reality
(like merging branches or picking patches from branches and applying
them elsewhere). Sure, this is quite hard to do in CVS so it does not
happen often and that's why the version numbers seem somewhat
In fact the version numbers have about as much meaning as the git hash
number. You have to guess which repo they come from and look up that
version in that repo, and only then you see the history and context in
which you can compare. And should hope nobody applied a patch on the
file outside of the VCS magic because then the version written in the
file will be wrong.

> Why I want (cvs-like) $Id$ is that I can see at a glance which version a
> file is, compare its version with that of another file, that sort of
> things, without help from the VCS. ÂFiles seem to have a habit of
> "escaping from" the VCS so saying "but you can just look up the hash
> value in the VCS" are not very helpful.

When the file "escapes from" a VCS the version number is meaningless.
There is no context to which you can compare. If you can guess the
repo it came from there are things like gitweb where you input the
number and it shows you the commit. You cannot possibly get more than

For me a file is identified by a hash of the actual file, not a
version number. You either have the same file or you don't. I can
write any version number I like into any file, I can have every file
version 42.



Home | Main Index | Thread Index | Old Index