On Mon, Nov 2, 2015 at 6:32 PM, Eric Rubin-Smith <eas....@gmail.com> wrote:

> the user when trying to move a tarball from one OS to another.  In other
> words, I believe that you perceive a dichotomy that is false (between (a)
> not implementing symlinks at all and (b) implementing them while having
> fossil perfectly and automatically solve all complications that may arise).
>

That sounds like a fair summary of my feelings on SCM support for symlinks,
but i'd argue that if a system (SCM) cannot do (b) for the vast majority of
use cases, then it probably shouldn't be implemented at all. Why not?
Because it's the _displeased_ users who complain the loudest when something
doesn't work how they want/expect it do, and that percentage of users is
relatively high in the case of symlinks.

A user who only ever uses fossil on unix should get unix symlink semantics
> on unix, without quirks or surprises.  Surely you and DRH would agree with
> that?
>

i can't speak for Richard, but if i had my way, fossil wouldn't support
symlinks at all. They are inherently platform-dependent and, IMHO, belong
in the build process, not the SCM. They are a big can of worms, as we can
see by large amount of emails on the topic. To be clear: i use symlinks all
over the place on my systems, i just refuse to use them in an SCM. Call me
old fashioned.


> <he cases you are worried about:
>
> * absolute paths -- fossil can preserve the absolute path, it's the user's
> fault if that's the wrong thing to do.
>

Absolute paths in an SCM are "just plain wrong" (IMO). Even the innocuous
link to /etc might be wrong in certain build environments (and won't work
on Windows). Why should fossil assist in doing the wrong thing?

Stated yet another way: we don't expect the SCM to solve all problems that
> users create.
>

But if it sets out to solve them, then it should solve them, not provide a
half-solution to philosophically unsolvable problems. (IMO.)


> For context, my particular use case: we need the openssl source tree in
> our project, and that tree contains internal symlinks.  Again, people have
> to jump through silly hoops to get new repos set up properly, because
> fossil breaks those symlinks by populating new repos with flat text files
> (and this goes undiscovered til the openssl build fails in mysterious
> ways).
>

To the best of my knowledge, if symlinks are enabled in the fossil config,
it will DTRT with them (to the best of its ability). i haven't tried it,
but that's my understanding of the feature. IIRC symlinks are on by default
on Unix systems and off everywhere else (that info might be outdated,
though).


-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
"Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to