All of lore.kernel.org
 help / color / mirror / Atom feed
From: Danh Doan <congdanhqx@gmail.com>
To: Daniel Malendez <dmalendez@googlemail.com>
Cc: Bryan Turner <bturner@atlassian.com>, Git Users <git@vger.kernel.org>
Subject: Re: Git doesn't support symlinks
Date: Thu, 26 Mar 2020 07:50:37 +0700	[thread overview]
Message-ID: <20200326005037.GA5398@danh.dev> (raw)
In-Reply-To: <F9453040-2E7D-4CAB-AA7F-0C6C04E2FC99@googlemail.com>

On 2020-03-25 20:37:30-0400, Daniel Malendez <dmalendez@googlemail.com> wrote:
> Thanks for your feedback!
> 
> > On Mar 25, 2020, at 8:23 PM, Bryan Turner <bturner@atlassian.com> wrote:
> > 
> > This didn't add the same thing. What does a "git status" show at this
> > point? I'd expect it would show "Versions/Current/Headers/interior.h"
> > as added to the index, not "Headers/interior.h".
> 
> $ git add .
> $ git status
> Changes to be committed:
>   (use "git rm --cached <file>..." to unstage)
> 	new file:   Foo.framework/Headers
> 	new file:   Foo.framework/Versions/A/Headers/Interior.h
> 
> > It doesn't necessarily seem like a bug, to me; more like a case where
> > Git could potentially be "smarter" to try and determine that, while
> > "Headers/interior.h" is beyond a symlink, the target of that symlink
> > is still in the repository. (Versions/Current _is_ in the same
> > repository, right?)
> 
> Agree, makes sense!
> 
> I think what happens here is that `git add .` adds the
> Foo.framework/Headers directory first, to circumvent this check
> failing here?

"Foo.framework/Headers" is a symlinks,
and git simply adds that, without caring where it's linked to.

To git, there's nothing inside "Foo.framework/Headers",
it's a blob, which happends to be type: symlink.

IOW, you can:

	$ git add Foo.framework/Headers # without add the target
	$ ln -s /usr/bin bin
	$ git add bin # git won't write to index anything from /usr/bin

> https://github.com/git/git/blob/master/pathspec.c#L596
> Whereas a single “git add path/to/file” would fail here

-- 
Danh

      reply	other threads:[~2020-03-26  0:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-25 23:38 Git doesn't support symlinks Daniel Malendez
2020-03-26  0:23 ` Bryan Turner
     [not found]   ` <D3B355BB-BB09-4AA7-8D8A-58B61529D617@googlemail.com>
2020-03-26  0:37     ` Daniel Malendez
2020-03-26  0:50       ` Danh Doan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200326005037.GA5398@danh.dev \
    --to=congdanhqx@gmail.com \
    --cc=bturner@atlassian.com \
    --cc=dmalendez@googlemail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.