Author: julianfoad
Date: Tue Nov 25 14:19:44 2014
New Revision: 1641624

URL: http://svn.apache.org/r1641624
Log:
On the 'move-tracking-2' branch: Add another merging test (XFail).

* subversion/tests/cmdline/svnmover_tests.py
  (merge_edits_with_move): New test.
  (test_list): Run it.

Modified:
    
subversion/branches/move-tracking-2/subversion/tests/cmdline/svnmover_tests.py

Modified: 
subversion/branches/move-tracking-2/subversion/tests/cmdline/svnmover_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/cmdline/svnmover_tests.py?rev=1641624&r1=1641623&r2=1641624&view=diff
==============================================================================
--- 
subversion/branches/move-tracking-2/subversion/tests/cmdline/svnmover_tests.py 
(original)
+++ 
subversion/branches/move-tracking-2/subversion/tests/cmdline/svnmover_tests.py 
Tue Nov 25 14:19:44 2014
@@ -413,6 +413,79 @@ def merges(sbox):
                            '-U', repo_url,
                            'merge', 'trunk@6', 'branches/br1', 'trunk@3')
 
+@XFail()  # bug: in r7 'bar' is plain-added instead of copied.
+def merge_edits_with_move(sbox):
+  "merge_edits_with_move"
+  sbox_build_svnmover(sbox)
+  repo_url = sbox.repo_url
+
+  # ### This checks the traditional 'log' output, in which a move shows up
+  # as a delete and a set of adds.
+
+  # make a 'trunk' branch and a 'branches' directory
+  # (r2)
+  test_svnmover(repo_url, [
+                 'A /trunk',
+                 'A /branches',
+                ],
+                'mkbranch', 'trunk',
+                'mkdir', 'branches')
+
+  # create initial state in trunk
+  # (r3)
+  test_svnmover(repo_url + '/trunk', [
+                 'A /trunk/lib',
+                 'A /trunk/lib/foo',
+                 'A /trunk/lib/foo/x',
+                 'A /trunk/lib/foo/y',
+                ],
+                'mkdir', 'lib',
+                'mkdir', 'lib/foo',
+                'mkdir', 'lib/foo/x',
+                'mkdir', 'lib/foo/y')
+
+  # branch (r4)
+  test_svnmover(repo_url, [
+                 'A /branches/br1 (from /trunk:3)',
+                ],
+                'branch', 'trunk', 'branches/br1')
+
+  # on trunk: make edits under 'foo' (r5)
+  test_svnmover(repo_url + '/trunk', [
+                 'D /trunk/lib/foo/x',
+                 'D /trunk/lib/foo/y',
+                 'A /trunk/lib/foo/y2 (from /trunk/lib/foo/y:4)',
+                 'A /trunk/lib/foo/z',
+                ],
+                'rm', 'lib/foo/x',
+                'mv', 'lib/foo/y', 'lib/foo/y2',
+                'mkdir', 'lib/foo/z')
+
+  # on branch: move/rename 'foo' (r6)
+  test_svnmover(repo_url + '/branches/br1', [
+                 'A /branches/br1/bar (from /branches/br1/lib/foo:5)',
+                 'D /branches/br1/lib/foo',
+                ],
+                'mv', 'lib/foo', 'bar')
+
+  # merge the move to trunk (r7)
+  test_svnmover(repo_url, [
+                 'A /trunk/bar (from /trunk/lib/foo:6)',
+                 'A /trunk/bar/y2 (from /trunk/lib/foo/y2:6)',
+                 'A /trunk/bar/z (from /trunk/lib/foo/z:6)',
+                 'D /trunk/lib/foo',
+                ],
+                'merge', 'branches/br1@6', 'trunk', 'trunk@3')
+
+  # merge the edits in trunk (excluding the merge r7) to branch (r8)
+  test_svnmover(repo_url, [
+                 'D /branches/br1/bar/x',
+                 'D /branches/br1/bar/y',
+                 'A /branches/br1/bar/y2 (from /branches/br1/bar/y:7)',
+                 'A /branches/br1/bar/z',
+                ],
+                'merge', 'trunk@6', 'branches/br1', 'trunk@3')
+
 
 ######################################################################
 
@@ -420,6 +493,7 @@ test_list = [ None,
               basic_svnmover,
               nested_replaces,
               merges,
+              merge_edits_with_move,
             ]
 
 if __name__ == '__main__':


Reply via email to