to symlink or not to symlink (was: Re: various suggestions for mr)

Chris Irwin chris at chrisirwin.ca
Fri Oct 28 17:01:07 CEST 2011


On Fri, Oct 28, 2011 at 03:14:38PM +0100, Adam Spiers wrote:
> So with the direction this subthread is going, it seems a good time
> to ask everyone:
> 
>    (a) Are your ~/.* files symlinks or not?
>    (b) Why?

I symlink for reasons similar to what you gave:

    - Immediately know what is managed
    - Immediately know what is not

Also, I was unfamiliar with fake-bare git repos and not completely
confortable with git. I didn't have the time to investigate everything,
so I stuck with what I knew already. If I was to change my setup (and I
might while stuck inside during winter) I'd probably use fake-bare
repositories, simply because I'm more familiar with the tools now.

>   - You can immediately see which stow package any symlinked file
>     under ~ belongs to, e.g.

I hadn't heard of `stow` before, though I wish I had. I wrote my own
alternative as a bash script.  The only thing that mine does that `stow`
doesn't seem to is the ability to stick a .linkdir file in certain
directories to have the entire dir linked, instead of individual files
within it.

If anybody is curious, the code is on gitorious. Note that this script
is full of horrible, horrible examples of things you shouldn't do. But
since I wrote it while half-asleep, and it "works for me", I've never
seen a need to fix it.

    https://gitorious.org/chrisirwin-utils/home-repos/blobs/master/recursive-ln

> But I'm sure there are some disadvantages too.  Anyone care to
> elaborate?

Sometimes symlinks can be overwritten with files. My script above
informs me of those, and I get an email from cron with the conflicts for
me to manually fix.

Rare, but a pain.

-- 
Chris Irwin
e:  chris at chrisirwin.ca
w: http://chrisirwin.ca


More information about the vcs-home mailing list