<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learning is an Art &#187; autoversioning</title>
	<atom:link href="http://www.singhvishwajeet.com/tag/autoversioning/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.singhvishwajeet.com</link>
	<description>My experiences</description>
	<lastBuildDate>Thu, 10 Jun 2010 22:19:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Apache WebDAV and Subversion Autoversioning</title>
		<link>http://www.singhvishwajeet.com/2008/08/05/apache-webdav-and-subversion-autoversioning/</link>
		<comments>http://www.singhvishwajeet.com/2008/08/05/apache-webdav-and-subversion-autoversioning/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 18:26:04 +0000</pubDate>
		<dc:creator>Vishwajeet Singh</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[autoversioning]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[webdav]]></category>

		<guid isPermaLink="false">http://www.singhvishwajeet.com/?p=16</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-3616637514641870";
/* 728x90, created 4/30/10 */
google_ad_slot = "2350940629";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><p class="MsoNormal"><strong>What is WebDAV</strong></p>
<p>WebDAV stands for &#8220;Web-based Distributed Authoring and Versioning&#8221;. It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.<span> </span><span lang="EN">The tragedy, though, is that despite the acronym, the RFC specification doesn&#8217;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. </span></p>
<p><span lang="EN">It was only few years, later <a title="RFC 3253" href="http://www.webdav.org/specs/rfc3253.html" target="_blank">RFC 3253</a> added versioning concepts to WebDAV, placing ‘V’ back in DAV, hence the term DeltaV. WebDAV/DeltaV clients and servers are often called just “<span class="quote">DeltaV</span>” programs, since DeltaV implies the existence of basic WebDAV.</span></p>
<p><span lang="EN">Original WebDAV standard has been widely successful. Every modern computer operating system has a general WebDAV client built-in, 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&#8217;s own IIS.</span></p>
<p>DeltaV 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.</p>
<p>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  REPORT requests that only <strong>mod_dav_svn</strong> understands. And also <strong>mod_dav_svn</strong> is not a fully-realized DeltaV server. Many portions of the DeltaV specification were irrelevant to Subversion, and thus left unimplemented.</p>
<p><strong><span lang="EN">Autoversioning</span></strong></p>
<p>Though Subversion is neither a full DeltaV client nor the Subversion server a full DeltaV server, there is silver lining known as Autoversioning.<br />
Autoversioning is an optional feature which is defined in the DeltaV standard. A typical DeltaV server will reject a WebDAV client attempting to do PUT to a file that&#8217;s under version control. To change a version-controlled file, the server expects a series proper versioning requests: something like <strong>MKACTIVITY,CHECKOUT, PUT, CHECKIN</strong>. But if the DeltaV server supports Autoversioning, then write-requests from basic WebDAV clients are accepted. The server behaves as if the client had issued the proper series of versioning requests, performing a commit under the hood. In other words, it allows a DeltaV server to interoperate with ordinary WebDAV clients that don&#8217;t understand versioning.</p>
<p>To activate autoversioning, you will need to add directive known as SVNAutoversioning in Apache httpd.conf file and set it as on.</p>
<div class="codesnip-container" >&lt;Location /repos&gt;<br />
DAV svn<br />
SVNPath /path/to/repository<br />
SVNAutoversioning on<br />
&lt;/Location&gt;</div>
<p>When SVNAutoversioning is on, all write request to from WebDAV clients result in automatic commits. A generic log message is auto-generated and attached to each revision.</p>
<p>For reference on how to set up Subversion repository as network share drive using Windows Web-folders please read <a title="using subversion repository as webshare" href="http://www.singhvishwajeet.com/2008/07/24/using-subversion-repository-as-webshare/" target="_blank">Using Subversion Repository as WebShare</a>.</p>
<p>References:</p>
<ul>
<li><a title="Autoversioning" href="http://svnbook.red-bean.com/en/1.2/svn.webdav.autoversioning.html" target="_blank">Subversion Documentation</a></li>
<li><a title="webdav" href="http://www.webdav.org/" target="_blank"><span lang="EN">http://www.webdav.org/</span></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.singhvishwajeet.com/2008/08/05/apache-webdav-and-subversion-autoversioning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
