[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1185421 - /subversion/trunk/subversion/libsvn_wc/update_editor.c

From: Stefan Sperling <stsp_at_elego.de>
Date: Tue, 18 Oct 2011 01:06:37 +0200

On Tue, Oct 18, 2011 at 12:51:18AM +0200, Bert Huijben wrote:
>
>
> > -----Original Message-----
> > From: stsp_at_apache.org [mailto:stsp_at_apache.org]
> > Sent: dinsdag 18 oktober 2011 0:47
> > To: commits_at_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.
Received on 2011-10-18 01:07:14 CEST

This is an archived mail posted to the Subversion Dev mailing list.