On Nov 30, 2009, at 5:21 AM, Julian Foad wrote:

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

The last several days have been related to the Thanksgiving holiday in the US, 
so I'm just now getting caught up.  The discussion and attention to the locking 
issues have been appreciated.

About a week ago, Greg and I talked a little about working copy locking, and 
instead of trying to hack something together piecemeal, I'm going to add a 
section to the design doc.  I think it'll be easier to communicate and get 
feedback on The Plan that way.  I'll commit the draft later today, and I'm 
looking forward to both your comments. :)

-Hyrum

Reply via email to