You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2010/04/29 18:47:56 UTC
svn commit: r939375 -
/subversion/trunk/subversion/tests/cmdline/merge_tests.py
Author: cmpilato
Date: Thu Apr 29 16:47:55 2010
New Revision: 939375
URL: http://svn.apache.org/viewvc?rev=939375&view=rev
Log:
Extend a test to address the concerns of issue #3623.
* subversion/tests/cmdline/merge_tests.py
(foreign_repos): Extend this test a bit to really verify that what
was merged from a foreign repos, and committed, is *really* what we
expected.
Modified:
subversion/trunk/subversion/tests/cmdline/merge_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/merge_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_tests.py?rev=939375&r1=939374&r2=939375&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_tests.py Thu Apr 29 16:47:55 2010
@@ -11750,6 +11750,7 @@ def foreign_repos(sbox):
# Convenience variables for working copy paths.
Z_path = os.path.join(wc_dir, 'A', 'D', 'G', 'Z')
+ B_path = os.path.join(wc_dir, 'A', 'B')
Q_path = os.path.join(wc_dir, 'Q')
H_path = os.path.join(wc_dir, 'A', 'D', 'H')
iota_path = os.path.join(wc_dir, 'iota')
@@ -11758,21 +11759,24 @@ def foreign_repos(sbox):
zeta_path = os.path.join(wc_dir, 'A', 'D', 'G', 'Z', 'zeta')
fred_path = os.path.join(wc_dir, 'A', 'C', 'fred')
- # Add new directories
+ # Add new directories, with properties
svntest.main.run_svn(None, 'mkdir', Q_path, Z_path)
+ svntest.main.run_svn(None, 'pset', 'foo', 'bar', Q_path, Z_path)
- # Add new files
+ # Add new files, with contents and properties.
zeta_contents = "This is the file 'zeta'.\n"
fred_contents = "This is the file 'fred'.\n"
svntest.main.file_append(zeta_path, zeta_contents)
svntest.main.file_append(fred_path, fred_contents)
svntest.main.run_svn(None, 'add', zeta_path, fred_path)
-
- # Modify existing files
+ svntest.main.run_svn(None, 'pset', 'foo', 'bar', zeta_path, fred_path)
+
+ # Modify existing files and directories.
added_contents = "This is another line of text.\n"
svntest.main.file_append(iota_path, added_contents)
svntest.main.file_append(beta_path, added_contents)
-
+ svntest.main.run_svn(None, 'pset', 'foo', 'bar', iota_path, B_path)
+
# Delete some stuff
svntest.main.run_svn(None, 'delete', alpha_path, H_path)
@@ -11783,6 +11787,7 @@ def foreign_repos(sbox):
'A/D/G/Z/zeta' : Item(verb='Adding'),
'A/C/fred' : Item(verb='Adding'),
'iota' : Item(verb='Sending'),
+ 'A/B' : Item(verb='Sending'),
'A/B/E/beta' : Item(verb='Sending'),
'A/B/E/alpha' : Item(verb='Deleting'),
'A/D/H' : Item(verb='Deleting'),
@@ -11794,21 +11799,23 @@ def foreign_repos(sbox):
'A/D/G/Z/zeta' : Item(status=' ', wc_rev=2),
'A/C/fred' : Item(status=' ', wc_rev=2),
})
- expected_status.tweak('iota', 'A/B/E/beta', wc_rev=2)
+ expected_status.tweak('iota', 'A/B/E/beta', 'A/B', wc_rev=2)
expected_status.remove('A/B/E/alpha', 'A/D/H', 'A/D/H/chi',
'A/D/H/psi', 'A/D/H/omega')
expected_disk = svntest.main.greek_state.copy()
expected_disk.add({
- 'Q' : Item(),
- 'A/D/G/Z' : Item(),
- 'A/D/G/Z/zeta' : Item(contents=zeta_contents),
- 'A/C/fred' : Item(contents=fred_contents),
+ 'Q' : Item(props={'foo':'bar'}),
+ 'A/D/G/Z' : Item(props={'foo':'bar'}),
+ 'A/D/G/Z/zeta' : Item(contents=zeta_contents,props={'foo':'bar'}),
+ 'A/C/fred' : Item(contents=fred_contents,props={'foo':'bar'}),
})
expected_disk.remove('A/B/E/alpha', 'A/D/H', 'A/D/H/chi',
'A/D/H/psi', 'A/D/H/omega')
expected_disk.tweak('iota',
contents=expected_disk.desc['iota'].contents
- + added_contents)
+ + added_contents,
+ props={'foo':'bar'})
+ expected_disk.tweak('A/B', props={'foo':'bar'})
expected_disk.tweak('A/B/E/beta',
contents=expected_disk.desc['A/B/E/beta'].contents
+ added_contents)
@@ -11826,7 +11833,14 @@ def foreign_repos(sbox):
### TODO: Use run_and_verify_merge() ###
svntest.main.run_svn(None, 'merge', '-c2', sbox.repo_url, wc_dir2)
svntest.main.run_svn(None, 'ci', '-m', 'Merge from foreign repos', wc_dir2)
- svntest.actions.verify_disk(wc_dir2, expected_disk, True)
+
+ # Now, let's make a third checkout -- our second from the original
+ # repository -- and make sure that all the data there is correct.
+ # It should look just like the original EXPECTED_DISK.
+ wc_dir3 = sbox.add_wc_path('wc3')
+ svntest.actions.run_and_verify_svn(None, None, [], 'checkout',
+ sbox2.repo_url, wc_dir3)
+ svntest.actions.verify_disk(wc_dir3, expected_disk, True)
def foreign_repos_uuid(sbox):