On Tue, Oct 18, 2011 at 12:51:18AM +0200, Bert Huijben wrote: > > > > -----Original Message----- > > From: s...@apache.org [mailto:s...@apache.org] > > Sent: dinsdag 18 oktober 2011 0:47 > > To: comm...@subversion.apache.org > > Subject: svn commit: r1185421 - > > /subversion/trunk/subversion/libsvn_wc/update_editor.c > > > > Author: stsp > > Date: Mon Oct 17 22:46:29 2011 > > New Revision: 1185421 > > > > URL: http://svn.apache.org/viewvc?rev=1185421&view=rev > > Log: > > Follow-up to r1185392: > > * subversion/libsvn_wc/update_editor.c > > (add_directory): Do not create directories on disk inside subtrees which > > have been moved away. > > > > Modified: > > subversion/trunk/subversion/libsvn_wc/update_editor.c > > > > Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c > > URL: > > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/upd > > ate_editor.c?rev=1185421&r1=1185420&r2=1185421&view=diff > > ========================================================== > > ==================== > > --- subversion/trunk/subversion/libsvn_wc/update_editor.c (original) > > +++ subversion/trunk/subversion/libsvn_wc/update_editor.c Mon Oct 17 > > 22:46:29 2011 > > @@ -2310,8 +2310,8 @@ add_directory(const char *path, > > pool)); > > > > /* Make sure there is a real directory at LOCAL_ABSPATH, unless we are > > just > > - updating the DB */ > > - if (!db->shadowed) > > + updating the DB or the parent was moved away. */ > > + if (!db->shadowed && !pb->moved_to_abspath) > > SVN_ERR(svn_wc__ensure_directory(db->local_abspath, pool)); > > Why is this extra check necessary? > (Is there some kind of race condition on deleting a new child directory?) > > When there are layers above BASE for the directory, db->shadowed is TRUE. And > a layer above base is required for a node to be marked as moved. If there > isn't the node exists in its original location.
Apparently your assumption is false. db->shadowed is not TRUE in the case I tested. Maybe it's a bug? You can revert this patch locally and run update_test 64 to see the problem yourself.