From: Stefan Sperling Subject: Re: install symbolic links in the work tree To: Tracey Emery Cc: gameoftrees@openbsd.org Date: Fri, 29 May 2020 17:15:07 +0200 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.