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

Re: Tree conflicts directories bug - another issue 3334 variant

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Wed, 04 Feb 2009 23:38:54 +0000

On Wed, 2009-02-04 at 16:36 -0500, Mark Phippard wrote:
> At a minimum this is a bug. When it is working I suspect the behavior
> will be unexpected, but at least explainable. I am attaching script,
> but let me explain. We stumbled on this testing Subclipse tree
> conflict resolution work.
>
> Suppose you delete a folder that has child folders. Do not commit
> yet. Now commit the delete of one of the children, but not the
> parent. The parent is now out of date, so it cannot be committed, so
> you update. This creates a tree conflict (the unexpected part)
> because the parent has to be updated but it is scheduled for delete.
> The bug is that the update of the folder is skipped so you are in the
> issue-3334 "loop" where you cannot commit the folder because you
> cannot update it.
>
> I tried this with the issue-3334-dirs branch and it still fails. Here
> is the output:

Mark,

What version of the issue-3334-dirs branch did you use? I ask because I
saw some code in Paul's commits today that specifically looks for cases
where the only "edits" are deletes of children, and treats those as
different from other "edits" of a directory tree. Maybe that code is
meant to handle this case.

- Julian

> $ ./script2.sh
> ### Display version...
> svn, version 1.6.0 (dev build)
> compiled Feb 4 2009, 16:25:33
>
> Copyright (C) 2000-2009 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet (http://www.Collab.Net/).
>
> The following repository access (RA) modules are available:
>
> * ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
> - handles 'http' scheme
> - handles 'https' scheme
> * ra_svn : Module for accessing a repository using the svn network protocol.
> - with Cyrus SASL authentication
> - handles 'svn' scheme
> * ra_local : Module for accessing a repository on local disk.
> - handles 'file' scheme
> * ra_serf : Module for accessing a repository via WebDAV protocol using serf.
> - handles 'http' scheme
> - handles 'https' scheme
>
> ### Making a Greek Tree for import...
> ### Done.
>
> ### Importing it...
> ### Done.
>
> ### remove A/B ...
> D A/B/lambda
> D A/B/E/alpha
> D A/B/E/beta
> D A/B/E
> D A/B/F
> D A/B
> ### but only commit A/B/E ...
> Deleting A/B/E
>
> Committed revision 2.
> ### Done, now update.
> C A/B
> At revision 2.
> Summary of conflicts:
> Tree conflicts: 1
> D C A/B
> > local delete, incoming edit upon update
> D A/B/lambda
> D A/B/F
> Path: A/B
> URL: file:///Users/mphippard/tree-conflicts/repos/trunk/A/B
> Repository Root: file:///Users/mphippard/tree-conflicts/repos
> Repository UUID: 55dfcbe6-c826-4636-9030-6409157708e5
> Revision: 1
> Node Kind: directory
> Schedule: delete
> Last Changed Author: mphippard
> Last Changed Rev: 1
> Last Changed Date: 2009-02-04 16:30:27 -0500 (Wed, 04 Feb 2009)
> Tree conflict: local delete, incoming edit upon update
> Source left: (none) file:///Users/mphippard/tree-conflicts/repos/trunk/A/B_at_1
> Source right: (dir) file:///Users/mphippard/tree-conflicts/repos/trunk/A/B_at_2
>
> ### Resolve tree conflict on A/B.
> Resolved conflicted state of 'A/B'
> D A/B
> D A/B/lambda
> D A/B/F
> Path: A/B
> URL: file:///Users/mphippard/tree-conflicts/repos/trunk/A/B
> Repository Root: file:///Users/mphippard/tree-conflicts/repos
> Repository UUID: 55dfcbe6-c826-4636-9030-6409157708e5
> Revision: 1
> Node Kind: directory
> Schedule: delete
> Last Changed Author: mphippard
> Last Changed Rev: 1
> Last Changed Date: 2009-02-04 16:30:27 -0500 (Wed, 04 Feb 2009)
>
> ### Commit delete of A/B.
> Deleting A/B
> subversion/libsvn_client/commit.c:867: (apr_err=160028)
> svn: Commit failed (details follow):
> subversion/libsvn_repos/commit.c:124: (apr_err=160028)
> svn: Directory '/trunk/A/B' is out of date
>
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1104131

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1104720
Received on 2009-02-05 00:39:15 CET

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