On Mon, 2009-11-30 at 11:19 +0000, Julian Foad wrote: > On Mon, 2009-11-30 at 11:02 +0000, Philip Martin wrote: > > Julian Foad <julianf...@btopenworld.com> writes: > > > > >> This whole --parents stuff is bonkers. If I do > > >> > > >> svn mkdir --parents wc/foo/bar/zig/zag > > >> > > >> to create foo, foo/bar, foo/bar/zig and foo/bar/zig/zag the first path > > >> to get locked is wc/foo/bar. It makes no sense to start in the middle, > > >> either it should be locking paths from parent to child or from child > > >> to parent. > > > > > > Eww. How did you observe that? Can you see source code that would do > > > that? > > > > Run it in gdb, set a breakpoint on svn_wc__acquire_write_lock and/or > > svn_wc__db_wclock_set. It's the recursion in svn_client_add4 and > > add_parent_dirs that's the problem. 1.6 would attempt to lock from > > child to parent, fail because the directories weren't versioned and > > then lock from parent to child as the directories got added. > > Ah... it looks part of svn_client_add4() is currently "a hack" according > to WC-NG comments in it... Maybe > > /* ### Currently we rely on the fact that this releases all our write > locks > ### recursively. */ > > is a problem. I'll back off. > > I committed the status check in r885378, which will make basic_tests 7 > fail for now.
(Uh, committing that wasn't quite in line with "backing off" :-) I hope that isn't seen as interfering. Just trying to help.) - Julian