You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2012/09/28 06:02:08 UTC

svn commit: r1391294 - in /subversion/branches/1.7.x: ./ STATUS subversion/mod_dav_svn/repos.c

Author: svn-role
Date: Fri Sep 28 04:02:07 2012
New Revision: 1391294

URL: http://svn.apache.org/viewvc?rev=1391294&view=rev
Log:
Merge r1387226 from trunk:

 * r1387226
   Fix issue 4231, mod_dav_svn assert with SVNAutoVersioning and <Location />
   Justification:
     It's an assert.
   Votes:
     +1: philip, rhuijben, cmpilato

Modified:
    subversion/branches/1.7.x/   (props changed)
    subversion/branches/1.7.x/STATUS
    subversion/branches/1.7.x/subversion/mod_dav_svn/repos.c

Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1387226

Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1391294&r1=1391293&r2=1391294&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Fri Sep 28 04:02:07 2012
@@ -199,13 +199,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1387226
-   Fix issue 4231, mod_dav_svn assert with SVNAutoVersioning and <Location />
-   Justification:
-     It's an assert.
-   Votes:
-     +1: philip, rhuijben, cmpilato
-
  * r1387943
    Fix unbounded memory use with SVNPathAuthz short_circuit.
    Justification:

Modified: subversion/branches/1.7.x/subversion/mod_dav_svn/repos.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/mod_dav_svn/repos.c?rev=1391294&r1=1391293&r2=1391294&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/mod_dav_svn/repos.c (original)
+++ subversion/branches/1.7.x/subversion/mod_dav_svn/repos.c Fri Sep 28 04:02:07 2012
@@ -1149,8 +1149,11 @@ create_private_resource(const dav_resour
   comb->res.collection = TRUE;                  /* ### always true? */
   /* versioned = baselined = working = FALSE */
 
-  comb->res.uri = apr_pstrcat(base->pool, base->info->repos->root_path,
-                              path->data, (char *)NULL);
+  if (base->info->repos->root_path[1])
+    comb->res.uri = apr_pstrcat(base->pool, base->info->repos->root_path,
+                                path->data, (char *)NULL);
+  else
+    comb->res.uri = path->data;
   comb->res.info = &comb->priv;
   comb->res.hooks = &dav_svn__hooks_repository;
   comb->res.pool = base->pool;
@@ -1904,9 +1907,11 @@ parse_querystring(request_rec *r, const 
          only use a temporary redirect. */
       apr_table_setn(r->headers_out, "Location",
                      ap_construct_url(r->pool,
-                                      apr_psprintf(r->pool, "%s%s?p=%ld",
-                                                   comb->priv.repos->root_path,
-                                                   newpath, working_rev),
+                                  apr_psprintf(r->pool, "%s%s?p=%ld",
+                                               (comb->priv.repos->root_path[1]
+                                                ? comb->priv.repos->root_path
+                                                : ""),
+                                               newpath, working_rev),
                                       r));
       return dav_svn__new_error(r->pool,
                                 prevstr ? HTTP_MOVED_PERMANENTLY
@@ -4338,8 +4343,11 @@ dav_svn__create_working_resource(dav_res
   res->baselined = base->baselined;
   /* collection = FALSE.   ### not necessarily correct */
 
-  res->uri = apr_pstrcat(base->pool, base->info->repos->root_path,
-                         path, (char *)NULL);
+  if (base->info->repos->root_path[1])
+    res->uri = apr_pstrcat(base->pool, base->info->repos->root_path,
+                           path, (char *)NULL);
+  else
+    res->uri = path;
   res->hooks = &dav_svn__hooks_repository;
   res->pool = base->pool;