On Fri, Oct 28, 2011 at 2:43 PM, Dieter Plaetinck <die...@plaetinck.be> wrote: > On Fri, 28 Oct 2011 14:34:16 +0100 > Adam Spiers <vcs-h...@adamspiers.org> wrote: > >> On Fri, Oct 28, 2011 at 12:40 PM, Dieter Plaetinck >> <die...@plaetinck.be> wrote: >> > Sorry that I go slightly off-topic but you mentioned Gnu Stow, I >> > looked it up and it seems very nice. i haven't run it yet, but (for >> > those who don't want to read the long description) from the >> > description it seems like a simple and elegant tool, which you give >> > a directory ("i want symlinks here") and a bunch of package >> > directories ("all files in here must be symlinked") and it will do >> > the right thing on package additions and removals. >> >> Yes, it is pretty nice (although the code base is very old-fashioned). >> >> One thing it does which I guess other symlink managers wouldn't, is >> called "tree folding" - i.e. it makes intelligent decisions about when >> to symlink to a subdirectory vs. to individual files within that >> subtree: >> >> http://www.gnu.org/software/stow/manual.html#SEC4 > > IMHO this feature is just common sense and it's among the first things > I think of when I'm thinking "what would I want a symlink manager to do?", > so I would expect that people who implement symlink managers either > also do something like this, or at least list it as a todo. > >> For example, imagine I have a stow package called 'foo' which wants to >> install a file to ~/local/lib/perl/Acme/Foo.pm (by "install", I mean >> set up a symlink so that that path points to the Foo.pm inside the >> stow package). If ~/local doesn't already exist, and 'foo' is the >> only stow package which installs anywhere under ~/local, then stow's >> tree folding feature will ensure that ~/local is a symlink back to >> $STOW_DIR/foo/local/lib/perl/Acme/Foo.pm. > > Don't you mean to $STOW_DIR/foo/local ?
Yes, sorry :) >> However I might very well want to manually place other files inside >> ~/local which have nothing to do with stow, let alone the 'foo' stow >> package. It might make sense to have ~/local/lib/perl/Acme/ be a >> symlink to $STOW_DIR/foo/local/lib/perl/Acme/, but symlinks higher up >> the tree would be undesirable. This is easily overcome by creating a >> special stow package (which I call 'ANTIFOLD') > > this seems a bit messy though. Once you go the way of having a tool > automagically > manage all your symlinks, why not just have the discipline to put all your > files > in appropriate packages? so that you never _need_ to create "antifold" > packages? > what you're doing seems a bit like running into the opposite direction. I don't understand what you mean; please could you elaborate? As far as I'm aware, all my files are nicely separated into appropriate packages, but that doesn't solve the problem. _______________________________________________ vcs-home mailing list vcs-home@lists.madduck.net http://lists.madduck.net/listinfo/vcs-home