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

Re: Tree conflicts test harness

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Mon, 19 May 2008 09:00:17 +0100

Julian Foad wrote:
> 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.

I made these changes (1 and 2).

> 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.

I put a note in the test harness about doing this.

> 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-19 10:00:52 CEST

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