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. - Julian