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

Tree conflicts test harness

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Wed, 14 May 2008 13:17:50 +0100

For those interested in tree conflicts...

I started a test harness in [branches/tree-conflicts/]
subversion/tests/cmdline/tree_conflict_tests.py.

Steve Butler wrote up a good description of it in [trunk/]
notes/tree-conflicts/testing, and this document ends with a "Current Status"
section with the following observations which I think it is worth copying here:

[[[
==============
Current Status
==============

The following tests fail because they expect a property change to
cause a tree conflict. We don't yet support that.

    Test 5 "up/sw dir: modify onto del/rpl/mv"
    Test 8 "up/sw dir: add onto add" (first two subtests)
    Test 13 "merge dir: modify onto not-dir"
    Test 14 "merge dir: del/rpl/mv onto not-same"

There is a strange error ("Revision 3 doesn't match existing revision
2") whenever we try to add a directory.

    Test 7 "up/sw dir: del/rpl/mv onto del/rpl/mv"
    Test 8 "up/sw dir: add onto add" (second 2 subtests)

For consistency's sake, I suggest a few changes to the actions scheme:

1. Rename _T to _t.

2. Simplify _A. It should just run 'svn add'. If the item does not
exist, it can be created by _a. This would enable adding an existing
file or directory.

3. The propset done by _A doesn't seem useful, because the property
name does not match the property edited by _P. We could run _P before
["after" not "before" -JAF]
_A if we want to add an item with a property.

These changes will require updating the scenario data, of course.

The following features are sketched out in the scenario data, but not
tested:

    Obstructions

    Replacement (file->file, dir->dir)

    'svn switch'

    'svn merge', where the merge diff is not the same as the working
    copy's own history

The current implementation of ensure_tree_conflict() works with only
one base URL. In other words, a command that takes a URL argument
gets the URL of the target working copy. This can't test 'svn
switch', and can't test all of the merge scenarios we would like. I
guess its time for some Python hacking.
]]]

I agree with Stephen's improvements to the actions scheme (1,2,3) and I'll look
into the other comments. I believe Stephen may be working on this too.

Any input is welcomed, as we want to get this branch ready to merge to trunk soon.

Thanks.
- 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-05-14 14:18:10 CEST

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