Traversing symlinks
Joel B. Mohler
joel at kiwistrawberry.us
Fri May 20 05:44:50 CDT 2011
On Friday, May 20, 2011 06:00:35 am Dominik Psenner wrote:
> >
> >
> > Maybe someone wants to make a deep path shorter by making a symlink. The
> > symlink may or may not be tracked, the point was just that Mercurial
> > behaves in an atypical way here compared to other Unix tools.
>
> hm I was more thinking of something like:
>
> $ hg init
> $ ln -s /etc
> $ hg add *
> $ hg commit
>
> At this point, I would expect mercurial to track the history of the data
> stored at the symlink location as if that data was physically there.
So this seems useful (in a gross kind of way) to version your /etc folder, but
what happens when you clone and update this on another computer? I would
certainly hope it wouldn't overwrite your /etc. What would you want to
happen?
What about when someone else changes this repository and you re-update on your
side? I guess it will honor the symlink and update in your /etc. I hope you
never do an "hg purge". All-in-all it seems rather opaque and scary to me.
I'm not sure why you would do this instead of versioning your /etc directory
directly (which I already do). I guess I'd better not do an 'hg purge'
either, but all that seems much more obvious in a non-symlinked context. Note
that I'm rather selective about what I include in this repository and my /etc
almost certainly includes symlinks whose ambient directories I've not been
motivated to version yet.
Joel
More information about the Mercurial-devel
mailing list