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. ;-)