As Daniel Shahaf wrote:

> However, there might be other things we could do.  First, it is possible
> to create nested checkouts in general, so perhaps the "Are we already
> inside a working copy?" check is superfluous.  That is, perhaps «svn co
> $URL $dir» shouldn't check $dir's ancestors for .svn/ subdirectories.
> (Checking $dir/.svn is probably fine.)

I'd vote for that.

FWIW, this is also in a line what e.g. git does: if I'm inside a git
cloned repository / working copy, and perform another "git clone", I
get a new copy inside the already existing one.

For everything else except "checkout", I completely agree that
traversing upwards needs to be done.

> However, on FreeBSD a plain «stat /nonexistent/foo/bar»
> returns ENOENT, not ENOTDIR…

The semantics of that automounter are, indeed, a bit strange.  I would
have expected an ENOENT for ../.svn (the NFS server in question does
not provide the respective directory). I'm not sure whether this would
be difficult to fix or not.

But that's another point. I was more suprised about "svn checkout"
traversing upwards at all, as I think this violates the principle of
least astonishment.

-- 
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)

Reply via email to