threads / discuss / 25826

when does git start caring about symlinks?

Subject: when does git start caring about symlinks?

## tl;dr

3 messages between Nov 23, 2010 and Nov 24, 2010.

replies: 2people: 2as markdown or json

Neal Kreitzinger· Nov 23, 2010, 23:50 UTC · lore

I have a question on how symlinks work and at what point git starts caring about them. If dirA/repoA/.git has no symlinks and I copy it to dirB/repoB/.git (ie. cp -rp /dirA/repoA/.git /dirB/repoB/.git), but /dirB is a symlink to /x/dirB does that mean that repoB contains symlinks (I suspect that repoB may be made up of all symlinks at this point)? In other words, if I parallel test repoA and repoB am I running a true parallel test or are the repos different because repoA has no symlinks and repoB has symlinks?

v/r, Neal

Nguyen Thai Ngoc Duy· Nov 24, 2010, 14:55 UTC · re: Neal Kreitzinger · lore

Re: when does git start caring about symlinks?

On Wed, Nov 24, 2010 at 6:50 AM, Neal Kreitzinger <neal@rsss.com> wrote:
Show 7 quoted lines
> I have a question on how symlinks work and at what point git starts caring
> about them.  If dirA/repoA/.git has no symlinks and I copy it to
> dirB/repoB/.git (ie. cp -rp /dirA/repoA/.git /dirB/repoB/.git), but /dirB is
> a symlink to /x/dirB does that mean that repoB contains symlinks (I suspect
> that repoB may be made up of all symlinks at this point)?  In other words,
> if I parallel test repoA and repoB am I running a true parallel test or are
> the repos different because repoA has no symlinks and repoB has symlinks?

There should be no difference between repoA and repoB until you make changes. Symlinks outside worktree do not matter. Symlinks inside .git dir may cause problems when you start updating repos. But I don't think recent git creates symlinks. There are other forms of symlinks in .git dir though: .git as a file that points to real .git dir, or .git/info/alternates comes to mind.

-- 
Duy
Neal Kreitzinger· Nov 24, 2010, 19:48 UTC · re: Nguyen Thai Ngoc Duy · lore

Re: when does git start caring about symlinks?

Show 23 quoted lines
>"Nguyen Thai Ngoc Duy" <pclouds@gmail.com> wrote in message 
> >news:AANLkTi=O0pZ97kRt0jGfy20znfvfp3UTydTBn_aMBxE+@mail.gmail.com...
>On Wed, Nov 24, 2010 at 6:50 AM, Neal Kreitzinger <neal@rsss.com> wrote:
>> I have a question on how symlinks work and at what point git starts 
>> caring
>> about them. If dirA/repoA/.git has no symlinks and I copy it to
>> dirB/repoB/.git (ie. cp -rp /dirA/repoA/.git /dirB/repoB/.git), but /dirB 
>> is
>> a symlink to /x/dirB does that mean that repoB contains symlinks (I 
>> suspect
>> that repoB may be made up of all symlinks at this point)? In other words,
>> if I parallel test repoA and repoB am I running a true parallel test or 
>> are
>> the repos different because repoA has no symlinks and repoB has symlinks?
>
>There should be no difference between repoA and repoB until you make
>changes. Symlinks outside worktree do not matter. Symlinks inside .git
>dir may cause problems when you start updating repos. But I don't
>think recent git creates symlinks. There are other forms of symlinks
>in .git dir though: .git as a file that points to real .git dir, or
>.git/info/alternates comes to mind.
>-- 
>Duy

Thank you for clarifying this for me. I see that I mistyped my copy command. It's actually "cp -rp /dirA/repoA /dirB/repoB", but you understood what I meant anyway when you stated "Symlinks outside worktree do not matter". :)

v/r, Neal

← back to recent threads