The Plan 9 solution looks better to me. At the very least if you keep them then paths should be resolved lexically. I think most people are under the false impression that they are resolved lexically (i.e. foo/bar/../baz and foo/baz are the same).
But IMO it’s better just to not have them and use another solution where you might have used them.
I haven’t actually used (since Plan 9 is dead) and I doubt it covers every use case for symlinks (e.g. this wouldn’t let you commit them to a git repo), but I really think the benefits of symlinks not existing at all would far outweigh the effort of having to think of alternative solutions.
Sadly we don’t get to live in that alternative history now… :-/
The Plan 9 solution looks better to me. At the very least if you keep them then paths should be resolved lexically. I think most people are under the false impression that they are resolved lexically (i.e.
foo/bar/../baz
andfoo/baz
are the same).But IMO it’s better just to not have them and use another solution where you might have used them.
Sorry, I didn’t follow any of that… What is the plan 9 solution? I searched, but didn’t see anything obvious
Basically it uses bind mounts instead. See this page for details.
I haven’t actually used (since Plan 9 is dead) and I doubt it covers every use case for symlinks (e.g. this wouldn’t let you commit them to a git repo), but I really think the benefits of symlinks not existing at all would far outweigh the effort of having to think of alternative solutions.
Sadly we don’t get to live in that alternative history now… :-/
That problem seems tiny relative to the convenience that symlinks offer…