Autoversioning bugfix: the autoversioned PROPPATCH change was causing
props in the svn 'custom' namespace to be skipped during a PROPFIND, oops.

* deadprops.c (get_repos_propname): undo previous change (r4193).
  too many routines use this helper function.

  (save_value): instead, put the autoversioning PROPPATCH behavior in
  here.  If the incoming autoversion prop isn't in one of the two svn
  xml namespaces, then just pretend it's in the custom one.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/autoversion@844269 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/subversion/mod_dav_svn/deadprops.c b/subversion/mod_dav_svn/deadprops.c
index cec2789..41240cb 100644
--- a/subversion/mod_dav_svn/deadprops.c
+++ b/subversion/mod_dav_svn/deadprops.c
@@ -64,8 +64,7 @@
       svn_stringbuf_appendcstr(db->work, name->name);
       *repos_propname = db->work->data;
     }
-  else if ((strcmp(name->ns, SVN_DAV_PROP_NS_CUSTOM) == 0)
-           || db->resource->info->repos->autoversioning)
+  else if (strcmp(name->ns, SVN_DAV_PROP_NS_CUSTOM) == 0)
     {
       /* the name of a custom prop is just the name -- no ns URI */
       *repos_propname = name->name;
@@ -138,11 +137,16 @@
   get_repos_propname(db, name, &propname);
 
   if (propname == NULL)
-    return dav_new_error(db->p, HTTP_CONFLICT, 0,
-                         "Properties may only be defined in the "
-                         SVN_DAV_PROP_NS_SVN " and " SVN_DAV_PROP_NS_CUSTOM
-                         " namespaces.");
-
+    {
+      if (db->resource->info->repos->autoversioning)
+        /* ignore the unknown namespace of the incoming prop. */
+        propname = name->name;
+      else
+        return dav_new_error(db->p, HTTP_CONFLICT, 0,
+                             "Properties may only be defined in the "
+                             SVN_DAV_PROP_NS_SVN " and " SVN_DAV_PROP_NS_CUSTOM
+                             " namespaces.");
+    }
 
   /* Working Baseline or Working (Version) Resource */
   if (db->resource->baselined)