On Sun, Jul 07, 2013 at 10:56:03AM -0500, Frank Loeffler wrote: > As to the original problem: is there any chance the 'nested' checkout > could be made to work? Subversion could just ignore any upper-level .svn > directories. What is done here is a fresh checkout. There is no need to > check anything further up in the directory tree, especially not if it > could make that checkout fail.
By design, there are many cases where the working copy code ends up searching the directory hierarchy upwards for a wc.db database in a .svn directory. Basically, any time the working copy management code is entered, the database is looked up from a cache or searched on disk. That code has many entry points internally, so there may be many cases where checkout ends up scanning upwards. It could also be a small number of cases. I'm not quite sure. We'd have to figure out where checkout hits these problems, write test cases for them, and special-case some checkout code paths to avoid scanning upwards. This is tedious work. But if you found a volunteer to do it I don't think we would reject such changes principle. The only command that explicitly avoids scanning upwards right now is the 'svn upgrade' command, to avoid upgrading enclosing working copies. Internally, it has to tip-toe around a lot of corners for this :(