<?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>Nick Heppleston's BizTalk Blog &#187; Subversion</title>
	<atom:link href="http://www.modhul.com/category/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.modhul.com</link>
	<description>Experiences of a UK BizTalk Consultant</description>
	<lastBuildDate>Sun, 13 Mar 2011 17:01:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Moving Directories in a SVN Repository using Tortoise SVN</title>
		<link>http://www.modhul.com/2008/11/14/moving-directories-in-a-svn-repository-using-tortoise-svn/</link>
		<comments>http://www.modhul.com/2008/11/14/moving-directories-in-a-svn-repository-using-tortoise-svn/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 20:45:44 +0000</pubDate>
		<dc:creator>Nick Heppleston</dc:creator>
				<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Tortoise SVN]]></category>
		<category><![CDATA[Repository]]></category>

		<guid isPermaLink="false">http://www.modhul.com/?p=381</guid>
		<description><![CDATA[Moving a directory that is already under SVN using Tortoise SVN isn&#8217;t as straightforward as this question and answer on Stackoverflow.com appears to suggest &#8211; the SVN Move versioned files here option isn&#8217;t always available&#8230; So how do you move versioned directories to another location in the repository? Create the new directory and add that [...]]]></description>
			<content:encoded><![CDATA[<p>Moving a directory that is already under SVN using Tortoise SVN isn&#8217;t as straightforward as <a href="http://stackoverflow.com/questions/264571/move-directory-across-svn-repository-using-tortoise-svn" target="_blank">this question and answer on Stackoverflow.com</a> appears to suggest &#8211; the <em>SVN Move versioned files here</em> option isn&#8217;t always available&#8230;</p>
<p>So how do you move versioned directories to another location in the repository?</p>
<ul>
<li>Create the new directory and add that directory to SVN using the Tortoise SVN <em>Add</em> command (no need to commit at this stage!) <strong>*or*</strong> move to a directory that is already under source-control</li>
<li>Right-click and drag the directory that is to be moved to the new directory (above) and select the <em>SVN Move versioned files here </em>option, as follows:</li>
</ul>
<p><a href="http://www.modhul.com/wp-content/uploads/2008/11/folder-under-svn.png"><img class="alignnone size-full wp-image-389" title="folder-under-svn" src="http://www.modhul.com/wp-content/uploads/2008/11/folder-under-svn.png" alt="" width="538" height="234" /></a></p>
<ul>
<li>If the directory you&#8217;re moving to isn&#8217;t Tortoise Aware (i.e. hasn&#8217;t been added or isn&#8217;t already under source control), you won&#8217;t get the option, as follows:</li>
</ul>
<p><a href="http://www.modhul.com/wp-content/uploads/2008/11/folder-not-under-svn.png"><img class="alignnone size-full wp-image-388" title="folder-not-under-svn" src="http://www.modhul.com/wp-content/uploads/2008/11/folder-not-under-svn.png" alt="" width="534" height="179" /></a></p>
<ul>
<li>Once the directory has been moved, commit the changes as usual.</li>
</ul>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.43folders.com/forum/2008/01/04/getting-version-control">Getting into Version Control</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.devx.com/codemag/Article/38974?trk=DXRSS_LATEST">Setting Up and Running Subversion and Tortoise SVN with Visual Studio and .NET</a></li>
</ul>
<div class="zemanta-pixie"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_c.png?x-id=00bc703d-4ee3-44ba-8db4-09493147bf72" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.modhul.com/2008/11/14/moving-directories-in-a-svn-repository-using-tortoise-svn/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Configuring Subversion &amp; Apache for Web-Based Repository Access</title>
		<link>http://www.modhul.com/2008/03/04/configuring-subversion-apache-for-web-based-repository-access/</link>
		<comments>http://www.modhul.com/2008/03/04/configuring-subversion-apache-for-web-based-repository-access/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 20:28:43 +0000</pubDate>
		<dc:creator>Nick Heppleston</dc:creator>
				<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://www.modhul.com/2008/03/04/configuring-subversion-apache-for-web-based-repository-access/</guid>
		<description><![CDATA[If you are running Subversion under Linux (Ubuntu) and need to configure a (SSL) web-based repository access via Apache2, Viktor Zigo has a particularly good writeup on his blog at Installation of Subversion on Ubuntu, with Apache, SSL, and BasicAuth.]]></description>
			<content:encoded><![CDATA[<p>If you are running Subversion under Linux (Ubuntu) and need to configure a (SSL) web-based repository access via Apache2, Viktor Zigo has a particularly good writeup on his blog at <a href="http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/" rel="bookmark" title="Permanent Link to ">Installation of Subversion on Ubuntu, with Apache, SSL, and BasicAuth.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.modhul.com/2008/03/04/configuring-subversion-apache-for-web-based-repository-access/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion &amp; BizTalk: Setting Committer Auto-Properties</title>
		<link>http://www.modhul.com/2008/02/27/subversion-biztalk-setting-committer-auto-properties/</link>
		<comments>http://www.modhul.com/2008/02/27/subversion-biztalk-setting-committer-auto-properties/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 00:24:15 +0000</pubDate>
		<dc:creator>Nick Heppleston</dc:creator>
				<category><![CDATA[Subversion]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[BizTalk 2004]]></category>
		<category><![CDATA[BizTalk 2006]]></category>

		<guid isPermaLink="false">http://www.modhul.com/2008/02/27/subversion-biztalk-setting-committer-auto-properties/</guid>
		<description><![CDATA[In my last post, I discussed how to configure the version control system, Subversion, to correctly handle BizTalk files. Although I did talk about how to set the correct file-type properties and how to mass update files already in the repository, I neglected to detail how to set those properties when files are first added [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.modhul.com/2008/02/22/configuring-subversion-to-correctly-handle-biztalk-files/" title="modhul.com: Configuring Subversion to Correctly Handle BizTalk Files" target="_blank">In my last post</a>, I discussed how to configure the version control system, <a href="http://subversion.tigris.org/" title="Subversion" target="_blank">Subversion</a>, to correctly handle BizTalk files. Although I did talk about how to set the correct file-type properties and how to mass update files <em>already in the repository</em>, I neglected to detail how to set those properties when files are first added to a repository.</p>
<p>As a committer, you won&#8217;t want to keep updating your newly added files with Subversion properties every time you add a or import a file. To resolve this problem, Subversion uses a concept of &#8216;auto-properties&#8217; &#8211; properties that are automatically set on a new file (based on file type) when they are first added to the repository. Auto-properties can either be set in the Subversion configuration file or in the Windows Registry.</p>
<p><strong>Auto-Properties in the Subversion Configuration File</strong></p>
<p>To set auto-properties in the Subversion configuration file, open the config file</p>
<blockquote><p><code>%USERPROFILE%\Application Data\Subversion\config</code></p></blockquote>
<p>and add lines similar to the following under the <code>[auto-props]</code> section of the file:</p>
<blockquote><p><code>[auto-props]<br />
*.btm = svn:mime-type=text/xml<br />
*.btp = svn:mime-type=text/xml<br />
*.odx = svn:mime-type=text/xml<br />
*.xsd = svn:mime-type=text/xml;svn:eol-style=native<br />
*.xml = svn:mime-type=text/xml;svn:eol-style=native<br />
*.xsn = svn:mime-type=application/octet-stream</code></p></blockquote>
<p>This sets the MIME-types defined in my earlier post for several common BizTalk file types; note that multiple properties can be set per file type, each separated by a semi-colon (e.g. *.xsd and *.xml file-types).</p>
<p>In order to enable these auto-properties, <em>enable-auto-props</em> under <code>[miscellany]</code> must be set to &#8216;yes&#8217;:</p>
<blockquote><p><code>[miscellany]<br />
enable-auto-props = yes</code></p></blockquote>
<p><strong>Auto-Properties in the Registry</strong></p>
<p>The same auto-properties settings can be achieved through the Windows Registry. A sample .reg file is shown below that sets the same auto-properties detailed earlier:</p>
<blockquote><p><code>REGEDIT4<br />
</code></p>
<p><code>[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]<br />
"*.btm"="svn:mime-type=text/xml"<br />
"*.btp"="svn:mime-type=text/xml"<br />
"*.odx"="svn:mime-type=text/xml"<br />
"*.xsd"="svn:mime-type=text/xml;svn:eol-style=native"<br />
"*.xml"="svn:mime-type=text/xml;svn:eol-style=native"<br />
"*.xsn"="svn:mime-type=application/octet-stream"<br />
</code></p>
<p><code>[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]<br />
"enable-auto-props"="yes"</code></p></blockquote>
<p>For a full list of auto-properties that can be set, see the <a href="http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3" title="Subversion Online Help: Special Properties" target="_blank">Special Properties section</a> of the Subversion Online Help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.modhul.com/2008/02/27/subversion-biztalk-setting-committer-auto-properties/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Configuring Subversion to Correctly Handle BizTalk Files</title>
		<link>http://www.modhul.com/2008/02/22/configuring-subversion-to-correctly-handle-biztalk-files/</link>
		<comments>http://www.modhul.com/2008/02/22/configuring-subversion-to-correctly-handle-biztalk-files/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 11:47:56 +0000</pubDate>
		<dc:creator>Nick Heppleston</dc:creator>
				<category><![CDATA[Subversion]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[BizTalk 2004]]></category>
		<category><![CDATA[BizTalk 2006]]></category>

		<guid isPermaLink="false">http://www.modhul.com/2008/02/22/configuring-subversion-to-correctly-handle-biztalk-files/</guid>
		<description><![CDATA[Subversion is a great open-source version control system, however it doesn&#8217;t work all that well with BizTalk solutions straight out of the box, particularly orchestration, pipeline and map files. In order to get these artifacts working seamlessly, there are a number of configuration changes that need to be made. Contextual-Merging &#38; MIME Types When changes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://subversion.tigris.org/" title="Subversion" target="_blank">Subversion</a> is a great open-source version control system, however it doesn&#8217;t work all that well with BizTalk solutions straight out of the box, particularly orchestration, pipeline and map files. In order to get these artifacts working seamlessly, there are a number of configuration changes that need to be made.</p>
<p><strong>Contextual-Merging &amp; MIME Types<br />
</strong></p>
<p>When changes are received from the repository during an update of a local working file, Subversion attempts a          contextual, line-based merge of changes. When this is performed on certain Biztalk files (including orchestrations, pipelines and maps) the result is an unreadable file in Visual Studio &#8211; the contextual, line-based merge simply can&#8217;t handle the file content unless given a little help by correctly specifying the file MIME-type through the Subversion           <code class="literal">svn:mime-type</code> property.</p>
<p>Because Orchestrations, Maps, Pipelines and Schemas are essentially only Xml (orchestrations may additionally contain embedded XLANG/S code), we can easily set the MIME-type property to <em>text/xml</em>. The property can either be set using the TortoiseSVN Windows Explorer shell extension or via the the Subversion command-line <em>propset</em> command:</p>
<blockquote><p><code><br />
svn propset svn:mime-type text/xml TestOrchestration.odx<br />
svn propset svn:mime-type text/xml TestMap.btm<br />
svn propset svn:mime-type text/xml TestPipeline.btp<br />
svn propset svn:mime-type text/xml TestSchema.xsd<br />
</code></p></blockquote>
<p>To check that the property has been set correctly, you can use the subversion <em>propget</em> command:</p>
<blockquote><p><code><br />
svn propget svn:mime-type TestOrchestration.odx<br />
&gt; text/xml<br />
</code></p></blockquote>
<p>This change ensures that when a local working copy of the file is updated from the repository, Subversion handles the line-based merge correctly. If you need to maintain binary files within your repository, such as InfoPath XSN files, you will need to set the MIME-type property to <em>application/octet-stream</em>.</p>
<p>More information about the MIME-type property can be found in the <a href="http://svnbook.red-bean.com/en/1.2/svn.advanced.props.html#svn.advanced.props.special.mime-type" title="Subversion Online Help: MIME-Type Properties">Subversion Online Help</a>.</p>
<p><strong>Mass Updating File Properties  </strong></p>
<p>Although the TortoiseSVN Explorer shell extension and Subversion command line utilities are helpful, they only operate on one file at a time. To get around this problem, I have written a small VBScript to recursively apply Subversion properties to specified file types within sub-folders &#8211; any subversion property can be applied to any file type using the script. A simple batch file could be used to execute the script on each file-type as follows:</p>
<blockquote><p><code>cscript SvnSetProps.vbs false "svn:mime-type text/xml" .btm "..\Integration\Biztalk\"<br />
cscript SvnSetProps.vbs false "svn:mime-type text/xml" .btp "..\Integration\Biztalk\"<br />
cscript SvnSetProps.vbs false "svn:mime-type text/xml" .odx "..\Integration\Biztalk\"<br />
cscript SvnSetProps.vbs false "svn:mime-type text/xml" .xsd "..\Integration\Biztalk\"<br />
cscript SvnSetProps.vbs false "svn:mime-type text/xml" .xml "..\Integration\Biztalk\"<br />
cscript SvnSetProps.vbs false "svn:mime-type application/octet-stream" .xsn "..\Integration\Biztalk\"</code></p></blockquote>
<p>You can <a href="http://www.modhul.com/wp-content/uploads/2008/02/svnsetprops.vbs" title="Set Subversion Properties Script" target="_blank">download a copy of the SvnSetProps.vbs script here</a> &#8211; please be aware that the script doesn&#8217;t do any error checking, so make sure you are confident in its operation by setting the second parameter  (&#8216;pretend&#8217;) to true &#8211; although it appears to be applying the changes, nothing is actually happening. Once you have applied the changes, they need to be committed back to the repository.</p>
<p><strong>Disclaimer</strong></p>
<p>This work is licensed under a <a href="http://creativecommons.org/licenses/by/2.5/" rel="license">Creative Commons Attribution 2.5  License</a> &#8211; you can use commercially and modify as necessary, but you must give the original author credit. Furthermore, this script is provided “AS IS” with no warranty. Click the image below to view further detail of the licence.</p>
<p><a href="http://creativecommons.org/licenses/by/2.5/" rel="license"><img src="http://creativecommons.org/images/public/somerights20.png" alt="Creative Commons License" style="border-width: 0pt" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.modhul.com/2008/02/22/configuring-subversion-to-correctly-handle-biztalk-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

