Subject: Re: [RFC] Change handling of RelNotes

From: Marius Storm-Olsen <[email-masked]>
Date: Fri, 31 Aug 2007 08:08:02 +0200

Junio C Hamano said the following on 31.08.2007 04:21:
> "Stephen Cuppett" <[email-masked]> writes:
>> I went to clone git onto a memory stick today.  The default fs on
>> the sticks doesn't support symlinks.  After looking a little bit,
>> the only symlink I can see in the source tree is RelNotes.  It
>> appears when going to a new release the file gets created in
>> /Documentation and the symlink updated.
> 
> Well, I hope you do not compile nor checkout git onto a memory 
> stick but use it as just a sneakernet medium.
> 
> If that is the case why should it matter if the contents tracked 
> has symlinks?

Well, you have the same thing on Windows, of course. Where the first 
time you try to clone git.git, it reports the RelNotes symlink.
So, at first you think, "Hmm, that just seems broken"; till you 
discover core.symlinks=false, and set that globally, and every thing 
works.

So, as a Windows user you always have that option set to false; but 
you have to discover it first. I can see it being a problem on Linux, 
mounting a memorystick, and then trying to clone git.git to it. Your 
inclination to discover core.symlinks=false is not as high, I guess. 
And since it's certainly nothing you'd want in your global config, it 
might take some time before you realize that the correct way of 
cloning it for a memorystick is in fact:
     git clone -n git://repo.or.cz/git.git

(and if you'd want it checked out too)
     cd git
     git config core.symlinks false
     git checkout

Maybe we should consider having Git detect the underlying FS's 
capabilities when cloning, and set core.symlinks to the correct value? 
(You'll have to manually adjust it if you just 'cp' it to another FS, 
that's as expected.)

^shrug^

-- 
.marius