Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-840

tweak server code to send new dav namespaces

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • all
    • 0.22
    • src
    • None

    Description

      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.
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              cmpilato C. Michael Pilato
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: