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

Re: Conflict storage in 1.7

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Sun, 12 Dec 2010 10:30:07 +0000

Stefan Sperling <stsp_at_elego.de> writes:

> In 1.7, you get a tree conflict if a directory obstructs an addition
> of another directory during update:
> $ svn up
> Updating '.' ...
> C foo
> At revision 3.
> Summary of conflicts:
> Tree conflicts: 1
> $ svn st
> ? C foo
> > local unversioned, incoming add upon update
> Summary of conflicts:
> Tree conflicts: 1
> IIRC we once decided that obstructions should not cause tree conflicts.
> Only versioned item should cause tree conflicts, and obstructions should
> be skipped. Apparently, this decision has not been enforced consistently
> throughout the code since we still have an "unversioned" tree conflict reason.
> 1.6 behaved as follows:
> $ svn up
> subversion/libsvn_wc/update_editor.c:2335: (apr_err=155000)
> svn: Failed to add directory 'foo': an unversioned directory of the same name already exists
> I like the current 1.7 behaviour better than the 1.6 behaviour because the
> update isn't instantly aborted when an obstructing directory is found.
> But maybe 1.7 should skip adding the directory instead of flagging a
> conflict?

What do you mean by skipping the add? Not adding the base node?

We could have made 1.6 add an admin directory to an unversioned
directory, but other for other sorts of obstructions: files, copied
directories, this was not possible. 1.7 doesn't have this problem,
update can always produce a complete base node tree whatever the state
of the working copy. I think that is the sensible way for 1.7 to
behave, it's much easier to understand the state of the working copy and
tree conflict resolution should be more easier.

Received on 2010-12-12 11:30:51 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.