next up previous contents
Next: Subversion in action and Up: Creating and accessing a Previous: Subversion Repositories over HTTPS   Contents

Subversion and WebDAV

As we said earlier, Subversion implements all methods defined in WebDAV specification. However, it cannot be accessed by default with WebDAV clients. The reason is that these clients can put and delete files and directories, but they cannot deal with revision numbers, revision logs - these are related to the version controlling methods. However, there is a way to configure the server to accept pure WebDAV requests, generate a revision number for them ,log message and commit the change. This is particularly useful when the changes done by non-technical persons have to be versioned: for example graphical designers working with images and uploading them directly to the repository.

In order to implement this feature, we have to turn on SVNAutoversioning directive:

<Location /svn>
  DAV svn
  ...
  SVNAutoversioning On
</Location>

Now we cat put a file using any WebDAV client and we can see with svn log command that the PUT request was accepted, the server assigned a revision to it and generated a log message:

------------------------------------------------------------------------
r4 | userone | 2007-02-03 08:51:11 +0200 (Sat, 03 Feb 2007) | 2 lines

Autoversioning commit:  a non-deltaV client made a change to
/test.txt
------------------------------------------------------------------------

This approach has some drawbacks. Most editors save automatically a document every couple of minutes. This will result in lots of commits to the Subversion repository and unnecessary increments of the revision number. Also, each save will be a separate commit and not an atomic one as it is with a Subversion client.


next up previous contents
Next: Subversion in action and Up: Creating and accessing a Previous: Subversion Repositories over HTTPS   Contents
Ivan Ivanov 2008-04-21