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

Tree conflicts - what's detected

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Mon, 03 Nov 2008 22:12:00 +0000

Stefan was asking me which scenarios we detect. Here are results I have
obtained from tree_conflict_tests.py, by modifying it to run only one at
a time of the checks for notification, status, commit-blocking,
resolving.

This table says which parts of tree conflict handling work in which
cases, as determined by the test cases in 'tree_conflict_tests.py'.

Note that it doesn't test any "deep tree conflict" scenarios, so the
"dir" cases look better here than they really are.

                                  Notify Status Commit Resolved
                                   'C' 'C' fails clears
UPDATE/SWITCH
=============

file: modify onto del/rpl/mv yes yes yes Parent
file: del/rpl/mv onto modify yes yes yes Parent
file: del/rpl/mv onto del/rpl/mv yes yes yes Parent
file: add onto add NO yes yes Parent

dir: modify onto del/rpl/mv yes yes yes Parent
dir: del/rpl/mv onto modify yes yes yes Parent
dir: del/rpl/mv onto del/rpl/mv yes yes yes Parent
dir: add onto add NO NO NO NO

MERGE
=====

file: modify onto not-file yes yes yes Parent
file: del/rpl/mv onto not-same yes yes yes Parent
file: del/rpl/mv onto not-file yes yes yes Parent
file: add onto not-none yes yes yes Parent

dir: modify onto not-dir yes yes yes Parent
dir: del/rpl/mv onto not-same NO NO NO NO
dir: del/rpl/mv onto not-dir yes yes yes Parent
dir: add onto not-none yes yes yes Parent

The action "del/rpl/mv" means deleting, or replacing with another node
of the same kind, or moving the node away to another path.

The target states "not-file" and "not-dir" mean the target node exists
but is of the other kind from the merge-left source; "not-same" means
the target node is of the same kind as the merge-left source but is not
identical to it; "not-none" means the target node exists.

The "Resolved clears" column says whether "svn resolved" clears the
conflict indication from "svn status". "Parent" means "yes, if the
parent directory is specified as a target of the command".

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-03 23:12:26 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.