"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: install symbolic links in the work tree
To:
Tracey Emery <tracey@openbsd.org>
Cc:
gameoftrees@openbsd.org
Date:
Fri, 29 May 2020 17:15:07 +0200

Download raw body.

Thread
On Fri, May 29, 2020 at 08:57:43AM -0600, Tracey Emery wrote:
> On Thu, May 28, 2020 at 12:51:58PM +0200, Stefan Sperling wrote:
> > This adds support for creating symbolic links in the work tree.
> > 
> > At present symbolic links in the repository are installed as regular
> > files in the work tree, which contain the link target path.
> > We keep doing so as a fallback if a particular symbolic link cannot
> > be installed.
> > 
> > A big concern here is to avoid creating symbolic links which point
> > anywhere outside of the work tree. Did I get this right?
> > 
> 
> This appears to work properly.
> 
> > Only tested with 'got checkout' yet, but more tests will likely follow.
> > 
> > ok?
> 
> Checkout is working just fine. I added a test for rm, which points to a
> problem.
> 
> Calling got rm marks the actual file for removal, instead of the
> symlink. Also, the test errors out on epsilon, since it points to a
> directory and got rm expects -R in that situation.
> 
> This is all I've tested, but it makes me wonder how diff and blame are
> going to handle the links.
> 
> I have not had time to check diff for correctness.
> 

I should probably put symlink support on a branch then, and work
through all the commands to ensure we have good behaviour across
the board before half-baked symlink support ends up in a release.