danie...@apache.org wrote on Mon, Feb 27, 2012 at 13:27:28 -0000:
> Author: danielsh
> Date: Mon Feb 27 13:27:28 2012
> New Revision: 1294147
> 
> URL: http://svn.apache.org/viewvc?rev=1294147&view=rev
> Log:
> Fix the issue found by r1294134: svnserve and mod_dav_svn expect different
> syntaxes in the authz file.
> 
> mod_dav_svn expects the dirname relative to the SVNParentPath, whereas 
> svnserve
> expects it to be relative to the --root.  Also, SVNParentPath does not 
> recurse,
> whereas --root does.
> 
> * subversion/tests/cmdline/svntest/sandbox.py
>   (Sandbox.authz_name): New method.
> 

I think this may have broken the windows buildbot.  Could a windows dev
try this patch please? ---

[[[
Index: subversion/tests/cmdline/svntest/sandbox.py
===================================================================
--- subversion/tests/cmdline/svntest/sandbox.py (revision 1294295)
+++ subversion/tests/cmdline/svntest/sandbox.py (working copy)
@@ -108,7 +108,7 @@ class Sandbox:
     if self.repo_url.startswith("http"):
       return os.path.basename(repo_dir)
     else:
-      return repo_dir
+      return repo_dir.replace('\\', '/')
 
   def add_test_path(self, path, remove=True):
     self.test_paths.append(path)
]]]


> * subversion/tests/cmdline/svnsync_tests.py
>   (copy_delete_unreadable_child): Remove XFail(svn://) expectation.
>   (detect_meddling, basic_authz, copy_from_unreadable_dir,
>    copy_with_mod_from_unreadable_dir, fd_leak_sync_from_serf_to_local,
>    copy_with_mod_from_unreadable_dir_and_copy,
>    copy_delete_unreadable_child):
>     Construct authz files with repository-specific sections for all RA layers.
> 
> Modified:
>     subversion/trunk/subversion/tests/cmdline/svnsync_tests.py
>     subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
> 
> Modified: subversion/trunk/subversion/tests/cmdline/svnsync_tests.py
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnsync_tests.py?rev=1294147&r1=1294146&r2=1294147&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/tests/cmdline/svnsync_tests.py (original)
> +++ subversion/trunk/subversion/tests/cmdline/svnsync_tests.py Mon Feb 27 
> 13:27:28 2012
> @@ -385,7 +385,6 @@ def detect_meddling(sbox):
>  
>  #----------------------------------------------------------------------
>  @Skip(svntest.main.is_ra_type_file)
> -@XFail(svntest.main.is_ra_type_svn)
>  def basic_authz(sbox):
>    "verify that unreadable content is not synced"
>  
> @@ -400,15 +399,16 @@ def basic_authz(sbox):
>  
>    run_init(dest_sbox.repo_url, sbox.repo_url)
>  
> +  args = map(lambda x: x.authz_name(), [sbox, sbox, dest_sbox])
>    svntest.main.file_write(sbox.authz_file,
> -                          "[svnsync-basic-authz:/]\n"
> +                          "[%s:/]\n"
>                            "* = r\n"
>                            "\n"
> -                          "[svnsync-basic-authz:/A/B]\n"
> +                          "[%s:/A/B]\n"
>                            "* = \n"
>                            "\n"
> -                          "[svnsync-basic-authz-1:/]\n"
> -                          "* = rw\n")
> +                          "[%s:/]\n"
> +                          "* = rw\n" % tuple(args))
>  
>    run_sync(dest_sbox.repo_url)
>  
> Modified: subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py?rev=1294147&r1=1294146&r2=1294147&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py (original)
> +++ subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py Mon Feb 27 
> 13:27:28 2012
> @@ -102,6 +102,14 @@ class Sandbox:
>      svntest.actions.make_repo_and_wc(self, create_wc, read_only, 
> minor_version)
>      self._is_built = True
>  
> +  def authz_name(self, repo_dir=None):
> +    "return this sandbox's name for use in an authz file"
> +    repo_dir = repo_dir or self.repo_dir
> +    if self.repo_url.startswith("http"):
> +      return os.path.basename(repo_dir)
> +    else:
> +      return repo_dir
> +
>    def add_test_path(self, path, remove=True):
>      self.test_paths.append(path)
>      if remove:
> 
> 

Reply via email to