Author: pburba
Date: Thu Dec 3 17:58:51 2009
New Revision: 886864
URL: http://svn.apache.org/viewvc?rev=886864&view=rev
Log:
Add a test for issue #3180 'svn mergeinfo ignores peg rev for WC target'.
* subversion/tests/cmdline/mergeinfo_tests.py
(mergeinfo_on_pegged_wc_path): New.
(test_list): Add XFailing mergeinfo_on_pegged_wc_path.
Modified:
subversion/trunk/subversion/tests/cmdline/mergeinfo_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/mergeinfo_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/mergeinfo_tests.py?rev=886864&r1=886863&r2=886864&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/mergeinfo_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/mergeinfo_tests.py Thu Dec 3
17:58:51 2009
@@ -345,6 +345,81 @@
'--show-revs', 'merged',
'--depth', 'infinity')
+# Test for issue #3180 'svn mergeinfo ignores peg rev for WC target'.
+#
+# This test is marked as XFail until this issue is fixed.
+def mergeinfo_on_pegged_wc_path(sbox):
+ "svn mergeinfo on pegged working copy target"
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+ expected_disk, expected_status = set_up_branch(sbox)
+
+ # Some paths we'll care about
+ A_path = os.path.join(wc_dir, "A")
+ A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ psi_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "psi")
+ omega_COPY_path = os.path.join(wc_dir, "A_COPY", "D", "H", "omega")
+ beta_COPY_path = os.path.join(wc_dir, "A_COPY", "B", "E", "beta")
+
+ # Do a couple merges
+ #
+ # r7 - Merge -c3,6 from A to A_COPY.
+ svntest.actions.run_and_verify_svn(
+ None,
+ expected_merge_output([[3],[6]],
+ ['U ' + psi_COPY_path + '\n',
+ 'U ' + omega_COPY_path + '\n']),
+ [], 'merge', '-c3,6', sbox.repo_url + '/A', A_COPY_path)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', wc_dir,
+ '-m', 'Merge r3 and r6')
+
+ # r8 - Merge -c5 from A to A_COPY.
+ svntest.actions.run_and_verify_svn(
+ None,
+ expected_merge_output([[5]],
+ 'U ' + beta_COPY_path + '\n'),
+ [], 'merge', '-c5', sbox.repo_url + '/A', A_COPY_path)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', wc_dir,
+ '-m', 'Merge r5')
+
+ # Ask for merged revisions to A_COPY pegged at various values.
+ # This currently fails as the pegged revision is ignored and
+ # the working rev is always used.
+ #
+ # A_COPY pegged to non-existent revision
+ svntest.actions.run_and_verify_mergeinfo(
+ adjust_error_for_server_version('.*No such revision 99'),
+ [], A_path, A_COPY_path + '@99', '--show-revs', 'merged')
+
+ # a_c...@base
+ svntest.actions.run_and_verify_mergeinfo(
+ adjust_error_for_server_version(''),
+ ['3','5','6'], A_path, A_COPY_path + '@BASE', '--show-revs', 'merged')
+
+ # a_c...@head
+ svntest.actions.run_and_verify_mergeinfo(
+ adjust_error_for_server_version(''),
+ ['3','5','6'], A_path, A_COPY_path + '@BASE', '--show-revs', 'merged')
+
+ # a_c...@4 (Prior to any merges)
+ svntest.actions.run_and_verify_mergeinfo(
+ adjust_error_for_server_version(''),
+ [], A_path, A_COPY_path + '@4', '--show-revs', 'merged')
+
+ # a_c...@committed (r8)
+ svntest.actions.run_and_verify_mergeinfo(
+ adjust_error_for_server_version(''),
+ ['3','5','6'], A_path, A_COPY_path + '@COMMITTED', '--show-revs',
+ 'merged')
+
+ # a_c...@prev (r7)
+ svntest.actions.run_and_verify_mergeinfo(
+ adjust_error_for_server_version(''),
+ ['3', '6'], A_path, A_COPY_path + '@PREV', '--show-revs', 'merged')
+
########################################################################
# Run the tests
@@ -358,6 +433,8 @@
mergeinfo_on_unknown_url,
non_inheritable_mergeinfo,
SkipUnless(recursive_mergeinfo, server_has_mergeinfo),
+ XFail(SkipUnless(mergeinfo_on_pegged_wc_path,
+ server_has_mergeinfo)),
]
if __name__ == '__main__':