Currently, libsvn_ra_dav and mod_dav_svn use the following namespace
mappings:
1. svn: --> any property that is recognized by any part of Subversion
2. svn:custom: -> any property ignored by all parts of Subversion
3. DAV: --> properties used only to talk about non-Subversion,
DAV-specific things.
The problem is that Category 1 is too broad, intertwining
non-user-visible network properties with regular repository props.
E.g., svn:baseline-relative-path (which is only used by ra_dav) and
svn:mime-type (which is user-visible, and lives in the repository).
It means that in order to tell if a resource has repository properties
present, all queries must manually filter out the non-repos svn:
props. This is unmaintainable!
Another problem is that our current namespaces are not valid URIs.
The solutions are to use a new namespace mapping:
1. http://subversion.tigris.org/xmlns/svn --> specially recognized,
yet repos-versioned, svn: props (like svn:mime-type and svn:keywords).
2. http://subversion.tigris.org/xmlns/custom --> User-defined,
non-special repos-versioned props (same as Old Category 2).
3. http://subversion.tigris.org/xmlns/dav --> props generated by
mod_dav_svn and consumed by libsvn_ra_dav (like
svn:baseline-relative-path).
4. DAV: --> Same as Old Category 3.
Of course, rollout of this has to be done carefully so we don't break
out-of-sync clients/servers.