You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2012/05/05 18:23:03 UTC
svn commit: r1334443 - in /subversion/branches/1.7.x: ./ STATUS
subversion/libsvn_wc/externals.c subversion/tests/cmdline/externals_tests.py
subversion/tests/cmdline/prop_tests.py
subversion/tests/cmdline/svntest/actions.py
Author: danielsh
Date: Sat May 5 16:23:02 2012
New Revision: 1334443
URL: http://svn.apache.org/viewvc?rev=1334443&view=rev
Log:
Merge the r1210913 group from trunk, resolving conflicts as directed:
* r1210913, r1211048
Fix issue 4073, assert on svn:externals path with drive letter on Windows.
Justification:
Avoid client asserting.
Notes:
Merge with '--accept mc' to resolve r1210913 conflict.
Votes:
+1: philip, rhuijben
+1: stsp (cannot test this, but the trunk windows buildsbots are
happy and the diff makes sense)
Modified:
subversion/branches/1.7.x/ (props changed)
subversion/branches/1.7.x/STATUS
subversion/branches/1.7.x/subversion/libsvn_wc/externals.c
subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py
subversion/branches/1.7.x/subversion/tests/cmdline/prop_tests.py
subversion/branches/1.7.x/subversion/tests/cmdline/svntest/actions.py
Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1210913,1211048
Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1334443&r1=1334442&r2=1334443&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Sat May 5 16:23:02 2012
@@ -109,14 +109,3 @@ Veto-blocked changes:
Approved changes:
=================
-
- * r1210913, r1211048
- Fix issue 4073, assert on svn:externals path with drive letter on Windows.
- Justification:
- Avoid client asserting.
- Notes:
- Merge with '--accept mc' to resolve r1210913 conflict.
- Votes:
- +1: philip, rhuijben
- +1: stsp (cannot test this, but the trunk windows buildsbots are
- happy and the diff makes sense)
Modified: subversion/branches/1.7.x/subversion/libsvn_wc/externals.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_wc/externals.c?rev=1334443&r1=1334442&r2=1334443&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_wc/externals.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_wc/externals.c Sat May 5 16:23:02 2012
@@ -300,8 +300,13 @@ svn_wc_parse_externals_description3(apr_
item->target_dir = svn_dirent_internal_style(item->target_dir, pool);
- if (item->target_dir[0] == '\0' || item->target_dir[0] == '/'
- || svn_path_is_backpath_present(item->target_dir))
+ if (item->target_dir[0] == '\0'
+ || svn_dirent_is_absolute(item->target_dir)
+ || svn_path_is_backpath_present(item->target_dir)
+ || !svn_dirent_skip_ancestor("dummy",
+ svn_dirent_join("dummy",
+ item->target_dir,
+ pool)))
return svn_error_createf
(SVN_ERR_CLIENT_INVALID_EXTERNALS_DESCRIPTION, NULL,
_("Invalid %s property on '%s': "
Modified: subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py?rev=1334443&r1=1334442&r2=1334443&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py (original)
+++ subversion/branches/1.7.x/subversion/tests/cmdline/externals_tests.py Sat May 5 16:23:02 2012
@@ -713,6 +713,13 @@ def disallow_dot_or_dotdot_directory_ref
if not external_urls: external_urls = list(external_url_for.values())
externals_value_8 = external_urls.pop() + " /foo \n"
if not external_urls: external_urls = list(external_url_for.values())
+ if svntest.main.is_os_windows():
+ externals_value_9 = external_urls.pop() + " D:/foo\n"
+ if not external_urls: external_urls = list(external_url_for.values())
+ externals_value_10 = external_urls.pop() + " D:\\foo\n"
+ if not external_urls: external_urls = list(external_url_for.values())
+ externals_value_11 = external_urls.pop() + " D:foo\n"
+ if not external_urls: external_urls = list(external_url_for.values())
set_externals_for_path_expect_error(B_path, externals_value_1)
set_externals_for_path_expect_error(G_path, externals_value_2)
@@ -722,6 +729,10 @@ def disallow_dot_or_dotdot_directory_ref
set_externals_for_path_expect_error(B_path, externals_value_6)
set_externals_for_path_expect_error(G_path, externals_value_7)
set_externals_for_path_expect_error(H_path, externals_value_8)
+ if svntest.main.is_os_windows():
+ set_externals_for_path_expect_error(B_path, externals_value_9)
+ set_externals_for_path_expect_error(B_path, externals_value_10)
+ set_externals_for_path_expect_error(B_path, externals_value_11)
#----------------------------------------------------------------------
Modified: subversion/branches/1.7.x/subversion/tests/cmdline/prop_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/prop_tests.py?rev=1334443&r1=1334442&r2=1334443&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/tests/cmdline/prop_tests.py (original)
+++ subversion/branches/1.7.x/subversion/tests/cmdline/prop_tests.py Sat May 5 16:23:02 2012
@@ -893,8 +893,7 @@ def prop_value_conversions(sbox):
svntest.actions.set_prop('svn:executable', '*', lambda_path)
for pval in (' ', '', 'no', 'off', 'false'):
svntest.actions.set_prop('svn:executable', pval, mu_path,
- ["svn: warning: To turn off the svn:executable property, use 'svn propdel';\n",
- "setting the property to '" + pval + "' will not turn it off.\n"])
+ "svn: warning: W125005.*use 'svn propdel'")
# Anything else should be untouched
svntest.actions.set_prop('svn:some-prop', 'bar', lambda_path)
Modified: subversion/branches/1.7.x/subversion/tests/cmdline/svntest/actions.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/svntest/actions.py?rev=1334443&r1=1334442&r2=1334443&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/branches/1.7.x/subversion/tests/cmdline/svntest/actions.py Sat May 5 16:23:02 2012
@@ -1878,7 +1878,7 @@ def create_failing_post_commit_hook(repo
# set_prop can be used for properties with NULL characters which are not
# handled correctly when passed to subprocess.Popen() and values like "*"
# which are not handled correctly on Windows.
-def set_prop(name, value, path, expected_err=None):
+def set_prop(name, value, path, expected_re_string=None):
"""Set a property with specified value"""
if value and (value[0] == '-' or '\x00' in value or sys.platform == 'win32'):
from tempfile import mkstemp
@@ -1887,11 +1887,18 @@ def set_prop(name, value, path, expected
value_file.write(value)
value_file.flush()
value_file.close()
- main.run_svn(expected_err, 'propset', '-F', value_file_path, name, path)
+ exit_code, out, err = main.run_svn(expected_re_string, 'propset',
+ '-F', value_file_path, name, path)
os.close(fd)
os.remove(value_file_path)
else:
- main.run_svn(expected_err, 'propset', name, value, path)
+ exit_code, out, err = main.run_svn(expected_re_string, 'propset',
+ name, value, path)
+ if expected_re_string:
+ if not expected_re_string.startswith(".*"):
+ expected_re_string = ".*(" + expected_re_string + ")"
+ expected_err = verify.RegexOutput(expected_re_string, match_all=False)
+ verify.verify_outputs(None, None, err, None, expected_err)
def check_prop(name, path, exp_out, revprop=None):
"""Verify that property NAME on PATH has a value of EXP_OUT.