Author: sbutler
Date: Fri Jun  3 16:57:22 2011
New Revision: 1131109

URL: http://svn.apache.org/viewvc?rev=1131109&view=rev
Log:
A test that reveals a problem with 'svn status' in mixed-revision
copied trees.

* subversion/tests/cmdline/stat_tests.py
  (copy_with_mixed_revisions): New XFAIL test.
  (test_list): Add the test.

Modified:
    subversion/trunk/subversion/tests/cmdline/stat_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/stat_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/stat_tests.py?rev=1131109&r1=1131108&r2=1131109&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/stat_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/stat_tests.py Fri Jun  3 16:57:22 
2011
@@ -1884,6 +1884,48 @@ def wc_wc_copy_timestamp(sbox):
 
   svntest.actions.run_and_verify_status(wc_dir, expected_output)
 
+@XFail()
+def copy_with_mixed_revisions(sbox):
+  """copy with mixed revisions"""
+
+  # Note: A "local edit, incoming delete upon update" tree conflict
+  # leads to the same situation.
+
+  sbox.build()
+  wc = sbox.ospath
+
+  # Make a change in a tree and commit.
+  svntest.main.file_append(wc('A/D/G/rho'), "Local edit\n") 
+  sbox.simple_commit() # r2
+  sbox.simple_update()
+
+  # Set up mixed revisions.
+  svntest.main.run_svn(None, 'up', '-r', 1, wc('A/D/G'))
+
+  # Copy the tree into a newly-added directory.
+  sbox.simple_mkdir('copy-dest')
+  sbox.simple_copy('A/D', 'copy-dest')
+
+  ### As of r1130919 (pre-1.7 trunk): If we expect status '  ' for D/G,
+  ### the verification via 'svn status -vuq' fails.  If we expect
+  ### status 'A ', the verification via 'entries-dump' fails.  Which
+  ### one is right?
+  expected_status = svntest.wc.State(wc('copy-dest'), {
+    ''                : Item(status='A ', wc_rev=0),
+    'D'               : Item(status='A ', copied='+', wc_rev='-'),
+    'D/G'             : Item(status='  ', copied='+', wc_rev='-'), # <---
+    'D/G/pi'          : Item(status='  ', copied='+', wc_rev='-'),
+    'D/G/rho'         : Item(status='  ', copied='+', wc_rev='-'),
+    'D/G/tau'         : Item(status='  ', copied='+', wc_rev='-'),
+    'D/H'             : Item(status='  ', copied='+', wc_rev='-'),
+    'D/H/chi'         : Item(status='  ', copied='+', wc_rev='-'),
+    'D/H/omega'       : Item(status='  ', copied='+', wc_rev='-'),
+    'D/H/psi'         : Item(status='  ', copied='+', wc_rev='-'),
+    'D/gamma'         : Item(status='  ', copied='+', wc_rev='-'),
+    })
+  svntest.actions.run_and_verify_status(wc('copy-dest'), expected_status)
+
+
 ########################################################################
 # Run the tests
 
@@ -1924,6 +1966,7 @@ test_list = [ None,
               status_nested_wc_old_format,
               status_locked_deleted,
               wc_wc_copy_timestamp,
+              copy_with_mixed_revisions,
              ]
 
 if __name__ == '__main__':


Reply via email to