Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 1a3ab26f23e0518b4054a503057127e3 > files > 199

subversion-doc-1.4.6-5mdv2008.1.x86_64.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" href="styles.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" 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" lang="en" xml:lang="en"><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">Distributed
      Authoring and Versioning</span>”.  RFC 2518 defines a set of
      concepts and accompanying extension methods to HTTP 1.1 that
      make the web into 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">mount</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 only one
      version of each file or directory exists, and 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">V</span>” back in “<span class="quote">DAV</span>”
      — hence the term “<span class="quote">DeltaV</span>”.  WebDAV/DeltaV
      clients and servers are often called just “<span class="quote">DeltaV</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, the Apache webserver has been able to provide
      WebDAV services since 1998 and is considered the de-facto
      open-source standard.  There are several other commercial WebDAV
      servers 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
      argue 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), version
      control features aren't interesting or necessary for most users.
      Finally, some have argued that DeltaV remains unpopular because
      there's still no open-source server product which
      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 left
      unimplemented.</p><p>There is still some debate in the developer community as to
      whether or not it's worthwhile to remedy either of these
      situations.  It's fairly unrealistic to change Subversion's
      design to match DeltaV, so there's probably no way the client
      can ever learn to get everything it needs from a general DeltaV
      server.  On the other hand,
      <span class="command"><strong>mod_dav_svn</strong></span> <span class="emphasis"><em>could</em></span> be
      further developed to implement all of DeltaV, but it's hard to
      find motivation to do so—there are almost no DeltaV
      clients to interoperate with.</p></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></body></html>