Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-updates > by-pkgid > 1d6e0a3784534d5165fa22faeeca008d > files > 226

subversion-doc-1.7.10-1.1.mga3.i586.rpm

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>What Is WebDAV?</title>
    <link rel="stylesheet" type="text/css" href="styles.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.76.1" />
    <link rel="home" href="index.html" title="Version Control with Subversion" />
    <link rel="up" href="svn.webdav.html" title="Appendix C. WebDAV and Autoversioning" />
    <link rel="prev" href="svn.webdav.html" title="Appendix C. WebDAV and Autoversioning" />
    <link rel="next" href="svn.webdav.autoversioning.html" title="Autoversioning" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">What Is WebDAV?</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="svn.webdav.html">Prev</a> </td>
          <th width="60%" align="center">Appendix C. WebDAV and Autoversioning</th>
          <td width="20%" align="right"> <a accesskey="n" href="svn.webdav.autoversioning.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" title="What Is WebDAV?">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="svn.webdav.basic"></a>What Is WebDAV?</h2>
          </div>
        </div>
      </div>
      <p><em class="firstterm">DAV</em> stands for <span class="quote">“<span class="quote">Distributed
      Authoring and Versioning.</span>”</span>  RFC 2518 defines a set of
      concepts and accompanying extension methods to HTTP 1.1 that
      make the Web a more universal read/write medium.  The basic
      idea is that a WebDAV-compliant web server can act like a
      generic file server; clients can <span class="quote">“<span class="quote">mount</span>”</span> shared
      folders over HTTP that behave much like other network
      filesystems (such as NFS or SMB).</p>
      <p>The tragedy, though, is that despite the acronym, the RFC
      specification doesn't actually describe any sort of version
      control.  Basic WebDAV clients and servers assume that only one
      version of each file or directory exists, and that it can be
      repeatedly overwritten.</p>
      <p>Because RFC 2518 left out versioning concepts, another
      committee was left with the responsibility of writing RFC 3253 a
      few years later.  The new RFC adds versioning concepts to
      WebDAV, placing the <span class="quote">“<span class="quote">V</span>”</span> back in
      <span class="quote">“<span class="quote">DAV</span>”</span>—hence the term <span class="quote">“<span class="quote">DeltaV.</span>”</span>
      WebDAV/DeltaV clients and servers are often called just
      <span class="quote">“<span class="quote">DeltaV</span>”</span> programs, since DeltaV implies the
      existence of basic WebDAV.</p>
      <p>The original WebDAV standard has been widely successful.
      Every modern computer operating system has a general WebDAV
      client built in (details to follow), and a number of popular
      standalone applications are also able to speak
      WebDAV—Microsoft Office, Dreamweaver, and Photoshop, to
      name a few.  On the server end, Apache HTTP Server has been
      able to provide WebDAV services since 1998 and is considered the
      de facto open source standard.  Several other
      commercial WebDAV servers are available, including Microsoft's own
      IIS.</p>
      <p>DeltaV, unfortunately, has not been so successful.  It's
      very difficult to find any DeltaV clients or servers.  The few
      that do exist are relatively unknown commercial products, and
      thus it's very difficult to test interoperability.  It's not
      entirely clear as to why DeltaV has remained stagnant.  Some
      opine that the specification is just too complex.  Others argue
      that while WebDAV's features have mass appeal (even the least
      technical users appreciate network file sharing), its version
      control features just aren't interesting or necessary for most
      users.  Finally, some believe that DeltaV remains unpopular
      because there's still no open source server product that
      implements it well.</p>
      <p>When Subversion was still in its design phase, it seemed
      like a great idea to use Apache as a network server.  It already
      had a module to provide WebDAV services.  DeltaV was a
      relatively new specification.  The hope was that the Subversion
      server module (<span class="command"><strong>mod_dav_svn</strong></span>) would eventually
      evolve into an open source DeltaV reference implementation.
      Unfortunately, DeltaV has a very specific versioning model that
      doesn't quite line up with Subversion's model.  Some concepts
      were mappable; others were not.</p>
      <p>What does this mean, then?</p>
      <p>First, the Subversion client is not a fully implemented
      DeltaV client.  It needs certain types of things from the server
      that DeltaV itself cannot provide, and thus is largely dependent
      on a number of Subversion-specific
      HTTP <code class="literal">REPORT</code> requests that
      only <span class="command"><strong>mod_dav_svn</strong></span> understands.</p>
      <p>Second, <span class="command"><strong>mod_dav_svn</strong></span> is not a
      fully realized DeltaV server.  Many portions of the DeltaV
      specification were irrelevant to Subversion, and thus were left
      unimplemented.</p>
      <p>A long-held debate in the Subversion developer community
      about whether it was worthfile to remedy either of these
      situations eventually reached closure, with the Subversion
      developers officially deciding to abandon plans to fully support
      DeltaV.  As of Subversion 1.7, Subversion clients and servers
      introduce numerous non-standard simplifications of the DeltaV
      standards<sup>[<a id="idp24608864" href="#ftn.idp24608864" class="footnote">75</a>]</sup>, with more
      customizations of this sort likely to come.  Those versions of
      Subversion will, of course, continue to provide the same DeltaV
      feature support already present in older releases, but no new
      work will be done to increase coverage of the
      specification—Subversion is intentionally moving away from
      strict DeltaV as its primary HTTP-based protocol.</p>
      <div class="footnotes">
        <br />
        <hr width="100" align="left" />
        <div class="footnote">
          <p><sup>[<a id="ftn.idp24608864" href="#idp24608864" class="para">75</a>] </sup>The Subversion developers colloquially
      refer to this deviation from the DeltaV standard
      as <span class="quote">“<span class="quote">HTTPv2</span>”</span>.</p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="svn.webdav.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="svn.webdav.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="svn.webdav.autoversioning.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Appendix C. WebDAV and Autoversioning </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Autoversioning</td>
        </tr>
      </table>
    </div>
    <div xmlns="" id="svn-footer">
      <hr />
      <p>You are reading <em>Version Control with Subversion</em> (for Subversion 1.7), by Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato.<br />
       This work is licensed under the <a href="http://creativecommons.org/licenses/by/2.0/">Creative Commons Attribution License v2.0</a>.<br />
       To submit comments, corrections, or other contributions to the text, please visit <a href="http://www.svnbook.com/">http://www.svnbook.com/</a>.</p>
    </div>
  </body>
</html>