<?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>thecrumb.com &#187; svn</title>
	<atom:link href="http://thecrumb.com/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://thecrumb.com</link>
	<description>developer &#124; thinker &#124; tinkerer</description>
	<lastBuildDate>Sat, 04 Feb 2012 01:28:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Development Environment Quick Start</title>
		<link>http://thecrumb.com/2010/10/18/development-environment-quick-start/</link>
		<comments>http://thecrumb.com/2010/10/18/development-environment-quick-start/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 14:00:05 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[redmine]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://thecrumb.com/?p=1205</guid>
		<description><![CDATA[At my new job I have had to &#8216;fix&#8217; a few things lacking in the development environment. Many of us have been in this situation before: a small shop and everyone is &#8216;too busy&#8216; to implement some of these &#8216;best &#8230; <a href="http://thecrumb.com/2010/10/18/development-environment-quick-start/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At my new job I have had to &#8216;fix&#8217; a few things lacking in the development environment. Many of us have been in this situation before: a small shop and everyone is &#8216;<em>too busy</em>&#8216; to implement some of these &#8216;best practices&#8217;.  I didn&#8217;t have a lot of time to spend myself but I simply cannot work effectively without some of these tools.</p>
<h3>Houston, we have a problem. Revert!</h3>
<p>Where would we be without source control?!  I thought about git but I wanted something simple with a proven set of tools so it was back to our old friend Subversion.  I&#8217;ve setup Subversion servers from scratch before but I wanted to see if there was anything a bit more user friendly that had a GUI. After some research I settled on <a href="http://www.visualsvn.com/server/">VisualSVN</a>.  It literally took me a few minutes to download, configure everything and have a SVN server ready to go.   CollabNet also has a new product called &#8220;<a href="http://www.open.collab.net/products/subversion/">Subversion Edge</a>&#8221; which bundles Subversion and  Apache in an easy to install bundle.  VisualSVN seemed the simpler of the two options so I went with that one and have been happy so far.  It includes a very simple administration interface that allows you to define repositories and permissions, and can integrate with Windows authentication if you need more complexity.</p>
<h3>Where is that Post-it with the client&#8217;s feedback?</h3>
<p>I&#8217;ve also grown used to developing with a bug/issue tracker.  I love Jira but needed something free so turned to <a href="http://www.redmine.org/">Redmine</a>.  Redmine is built on Ruby on Rails and again I didn&#8217;t want to go through the hassles of setting something up so I turned to <a href="http://bitnami.org/">BitNami</a> which I have <a href="http://thecrumb.com/2008/07/25/developer-toolbox-bitnami-stacks/">blogged about in the past</a>.  BitNami happens to have a Redmine application stack available. Download. Install. Done!  Out of the box Redmine provides you with issue/bug tracking, file repository, wiki, forums and more.  It also integrates nicely with Subversion.</p>
<h3>Hey who deleted the file on the server?</h3>
<p>I&#8217;ve also grown used to developing locally vs. on a central server.  Locally I&#8217;m running my VirtualBox development environment I&#8217;ve<a href="http://www.thecrumb.com/wiki/virtualbox_and_coldfusion_9"> talked about before</a>.  ColdFusion, MySQL and some other tools all conveniently running in a VM.   I actually set this up at home, then exported it and copied it to my work machine.  A few tweaks and I had our project up and running locally on my workstation.</p>
<p>In only a few hours I setup source control, a bug/issue tracker and a local development environment.   The  <em>&#8220;I&#8217;m too busy</em>&#8221; excuse is easy to fall back on but it really takes very little time to setup a solid development environment that would benefit everyone from a small team of one to large corporate teams.</p>
<p>Next up &#8211; mockups, bug logging and more tools!</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2010/10/18/development-environment-quick-start/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Integrating JIRA and SVN Using bugtraq Properties</title>
		<link>http://thecrumb.com/2008/11/25/integrating-jira-and-svn-using-bugtraq-properties/</link>
		<comments>http://thecrumb.com/2008/11/25/integrating-jira-and-svn-using-bugtraq-properties/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 19:15:24 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=604</guid>
		<description><![CDATA[Here at work we are using JIRA for bug/issue tracking, most of the developers also use Eclipse and everyone is using Subversion (TortoiseSVN). I was digging through one of the SVN books and came across a bugtraq property. A bit &#8230; <a href="http://thecrumb.com/2008/11/25/integrating-jira-and-svn-using-bugtraq-properties/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here at work we are using JIRA for bug/issue tracking, most of the developers also use Eclipse and everyone is using Subversion (TortoiseSVN).</p>
<p>I was digging through one of the SVN books and came across a <em>bugtraq</em> property.  A bit of Googling turned me onto a great tutorial by Mark Phippard (project lead for Subclipse):</p>
<p><a href="http://markphip.blogspot.com/2007/01/integrating-subversion-with-your-issue.html">Integrating Subversion with your Issue Tracking System</a></p>
<p><span id="more-604"></span></p>
<p>This is one of those simple tweaks that makes your life much easier as a developer.  After adding the properties outlined in Mark&#8217;s tutorial:</p>
<div id="attachment_606" class="wp-caption aligncenter" style="width: 432px"><a href="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq2.png"><img class="size-full wp-image-606" src="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq2.png" alt="bugtraq properties" width="422" height="161" /></a><p class="wp-caption-text">bugtraq properties</p></div>
<p>Now in my commit dialog I get a text area to enter my JIRA key:</p>
<div id="attachment_605" class="wp-caption aligncenter" style="width: 410px"><a href="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq.png"><img class="size-full wp-image-605" src="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq.png" alt="Subclipse dialog w/JIRA KEY prompt" width="400" height="326" /></a><p class="wp-caption-text">Subclipse dialog w/JIRA KEY prompt</p></div>
<p>Since I have Mylyn installed &#8211; when I hover over the link in the SVN History view I get two choices:</p>
<div id="attachment_608" class="wp-caption aligncenter" style="width: 277px"><a href="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq4.png"><img class="size-full wp-image-608" src="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq4.png" alt="Open with options" width="267" height="90" /></a><p class="wp-caption-text">Open with options</p></div>
<p>So now I can open the task in Mylyn or if I select the hyperlink option it opens in the Eclipse browser.</p>
<div id="attachment_607" class="wp-caption aligncenter" style="width: 410px"><a href="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq3.png"><img class="size-full wp-image-607" src="http://thecrumb.com/wp-content/uploads/2008/11/bugtraq3.png" alt="Mylyn View" width="400" height="308" /></a><p class="wp-caption-text">Mylyn View</p></div>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/11/25/integrating-jira-and-svn-using-bugtraq-properties/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Removing .svn files with TortoiseSVN</title>
		<link>http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/</link>
		<comments>http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 13:32:31 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tortoisesvn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=519</guid>
		<description><![CDATA[Once in awhile I run into working copy folders from Subversion that I know longer want under version control. I want to &#8220;unversion&#8221; them.  Usually I do some kind of find and delete on all the .svn related folders but &#8230; <a href="http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Once in awhile I run into working copy folders from Subversion that I know longer want under version control. I want to &#8220;unversion&#8221; them.  Usually I do some kind of find and delete on all the .svn related folders but there is an easier way if you have TortoiseSVN installed.</p>
<p>You should be familiar with the &#8220;Export&#8221; command.  This will make a copy of the files in a new location without all those pesky .svn folders.   If you want to &#8216;unversion&#8217; something but don&#8217;t want a copy &#8211; simply do an &#8220;export&#8221; and when Tortoise asks for the &#8220;folder to export to&#8221; simply select the same folder your working copy is in! Tortoise will proceed to remove all the .svn folders.</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Subversion &#8211; One Repo Per Project or One Project Per Repo?</title>
		<link>http://thecrumb.com/2008/07/17/subversion-one-repo-per-project-or-one-project-per-repo/</link>
		<comments>http://thecrumb.com/2008/07/17/subversion-one-repo-per-project-or-one-project-per-repo/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 17:07:55 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=474</guid>
		<description><![CDATA[I&#8217;m curious how others have setup their repositories: One repository per project or&#8230; One project per repository The Subversion book goes into this a bit &#8211; and mentions a few pros and cons of each method but I was curious &#8230; <a href="http://thecrumb.com/2008/07/17/subversion-one-repo-per-project-or-one-project-per-repo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m curious how others have setup their repositories:</p>
<ol>
<li>One repository per project or&#8230;</li>
<li>One project per repository</li>
</ol>
<p>The Subversion book goes into this a bit &#8211; and mentions a few pros and cons of each method but I was curious what people were actually doing.</p>
<p>Right now we are &#8216;One project per repository&#8217;.  There were a few reasons for making that decision but now we are re-evaluating and considering moving to a single repository for everything. I&#8217;m curious if anyone is currently doing that and having issues?  Anyone have an alternate setup?</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/07/17/subversion-one-repo-per-project-or-one-project-per-repo/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Digging into TortoiseSVN</title>
		<link>http://thecrumb.com/2008/07/14/digging-into-tortoisesvn/</link>
		<comments>http://thecrumb.com/2008/07/14/digging-into-tortoisesvn/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 18:35:55 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=469</guid>
		<description><![CDATA[I&#8217;ve recently inherited several projects.  Luckily they were already under version control but the directory structure wasn&#8217;t using our normal &#8216;standard&#8217;.  After digging into the awesome TortoiseSVN help file (recommended reading!) I learned a few new tricks: Fixing Ignored Files &#8230; <a href="http://thecrumb.com/2008/07/14/digging-into-tortoisesvn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently inherited several projects.  Luckily they were already under version control but the directory structure wasn&#8217;t using our normal &#8216;standard&#8217;.  After digging into the awesome TortoiseSVN help file (recommended reading!) I learned a few new tricks:</p>
<p><strong>Fixing Ignored Files</strong></p>
<p>We&#8217;ve all run into this one before &#8211; you have a file somone mistakenly commited (.log files in my case).  From the TortoiseSVN help:</p>
<blockquote><p>If the files are already in the repository, you have to do a little more work.</p>
<ol>
<li>Hold the Shift key to get the extended context menu and use TortoiseSVN &gt; Delete (keep local) to mark the file/folder for deletion from the repository without losing the local copy.</li>
<li>TortoiseSVN &gt; Commit the parent folder.</li>
<li>Add the file/folder to the ignore list so you don&#8217;t get into the same trouble again.</li>
</ol>
</blockquote>
<p><img class="aligncenter size-full wp-image-470" src="http://thecrumb.com/wp-content/uploads/2008/07/tortoisesvn1.gif" alt="" width="400" height="100" /></p>
<p><strong>Moving Files within the Repository</strong></p>
<p>I&#8217;ve also got some folders scattered around the repository containing documentation. Ideally these should all live under our /doc directory.  But how to move these without loosing their history?  Again &#8211; from the TortoiseSVN help:</p>
<blockquote><p>The easiest way to copy files and folders from within a working copy is to use the right-drag menu. When you right-drag a file or folder from one working copy to another, or even within the same folder, a context menu appears when you release the mouse.</p></blockquote>
<p><img class="aligncenter size-full wp-image-471" src="http://thecrumb.com/wp-content/uploads/2008/07/tortoisesvn2.gif" alt="" width="284" height="222" /></p>
<p>Every time I dig into the TortoiseSVN help I learn something new!</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/07/14/digging-into-tortoisesvn/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Subversion 1.5 Released</title>
		<link>http://thecrumb.com/2008/06/19/subversion-15-released/</link>
		<comments>http://thecrumb.com/2008/06/19/subversion-15-released/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 18:47:37 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=464</guid>
		<description><![CDATA[Subversion 1.5 is out.  For those of us who haven&#8217;t moved to GIT yet&#8230; SVN 1.5 brings a load of new stuff: Merge tracking (foundational) Interactive conflict resolution Changelist support Speed improvements, cancellation response improvements More than 150 new bug &#8230; <a href="http://thecrumb.com/2008/06/19/subversion-15-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://subversion.tigris.org/svn_1.5_releasenotes.html">Subversion 1.5 is out</a>.  For those of us who haven&#8217;t moved to GIT yet&#8230; SVN 1.5 brings a load of new stuff:</p>
<ul>
<li>Merge tracking (foundational)</li>
<li></li>
<li>Interactive conflict resolution</li>
<li>Changelist support</li>
<li>Speed improvements, cancellation response improvements</li>
<li></li>
<li>More than 150 new bug fixes, enhancements</li>
</ul>
<p>And a host of other things!  I&#8217;m sure Tortoise and the other clients will be updated soon as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/06/19/subversion-15-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quickly Setup New Projects Using SVN</title>
		<link>http://thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/</link>
		<comments>http://thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 16:00:20 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=409</guid>
		<description><![CDATA[We have a standard directory structure for each of our projects: Testing contains our Selenium scripts (and in the future &#8211; unit testing scripts). Build contains our Ant scripts. At the office I&#8217;m in charge of setting up new SVN &#8230; <a href="http://thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have a standard directory structure for each of our projects:</p>
<pre class="brush: plain; title: ; notranslate">
projectname
/docs
/testing
/build
/priv
/pub
</pre>
<p><em>Testing</em> contains our Selenium scripts (and in the future &#8211; unit testing scripts).  <em>Build</em> contains our Ant scripts.</p>
<p>At the office I&#8217;m in charge of setting up new SVN repositories and one of the things I&#8217;ve done to speed up setting up new projects is to create a &#8216;template&#8217; project directory.  This contains all the folders listed above along with some default buildfile and testing scripts.</p>
<p>I first created this layout in a new repository.  I then added our standard buildfiles and testing suite files.  I then created a SVN dumpfile using the <a href="http://svnbook.red-bean.com/en/1.1/re31.html">svnadmin dump</a> command.  You end up with a dumpfile containing the contents of your repository.</p>
<p>Now when I create a new project I simple create the new project&#8217;s repository, and then use the <a href="http://svnbook.red-bean.com/en/1.0/re36.html">svnadmin load</a> command to import my &#8216;default&#8217; dumpfile contents.</p>
<pre class="brush: plain; title: ; notranslate">
/usr/bin/svnadmin create --fs-type fsfs /var/www/svn/projectname
sudo chown -R apache:apache /var/www/svn/projectname
sudo svnadmin load /var/www/svn/projectname &amp;lt; /var/www/svn/tmp/template.dumpfile --ignore-uuid -q
</pre>
<p>Now when the first person checks out the project &#8211; they already have the required directory structure, buildfiles and testing templates.</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Setting Up A New CFEclipse Project Using Subclipse</title>
		<link>http://thecrumb.com/2008/02/25/setting-up-a-new-cfeclipse-project-using-subclipse/</link>
		<comments>http://thecrumb.com/2008/02/25/setting-up-a-new-cfeclipse-project-using-subclipse/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 15:36:01 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CFEclipse]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/2008/02/25/setting-up-a-new-cfeclipse-project-using-subclipse/</guid>
		<description><![CDATA[Someone was asking on the CFEclipse mailing list about how to setup a SVN project in CFEclipse. I started typing up an email reply but thought a blog post with pictures might make more sense. This tutorial assumes you have &#8230; <a href="http://thecrumb.com/2008/02/25/setting-up-a-new-cfeclipse-project-using-subclipse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Someone was asking on the CFEclipse mailing list about how to setup a SVN project in CFEclipse.  I started typing up an email reply but thought a blog post with pictures might make more sense.</p>
<p>This tutorial assumes you have the following installed:</p>
<ul>
<li>CFEclipse</li>
<li>Subclipse plugin</li>
<li>A remote Subversion repository</li>
</ul>
<p>First open CFEclipse and open the SVN Repository view.</p>
<blockquote><p>Window &gt; Show View &gt; SVN Repository</p></blockquote>
<p>Next click on the <em>Add New Repository</em> button.</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut1.gif' alt='Add new repository' /></p>
<p>Enter the URL of you remote repository and click <em>Finish</em>.  I usually enter the root URL so I can access anything within the repository.  Your remote repository should now be visible in the SVN Repository view.</p>
<p>If you need to add existing local project files to your repository you can do that at this point by creating a directory within your repository and doing an import:</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut8.gif' alt='SVN Import' /></p>
<p>Now expand the repository and locate the directory you wish to checkout:</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut2.gif' alt='Checkout' />:</p>
<p>You should be able to leave the defaults selected and click Finish.  We will checkout our project using the <em>New Project Wizard</em> and we will checkout the <em>HEAD</em> revision.</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut3.gif' alt='Checkout Dialog' /></p>
<p>When prompted for a Wizard &#8211; select:</p>
<blockquote><p>CFEclipse &gt; CFML Project</p></blockquote>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut4.gif' alt='CFML Project Wizard' /></p>
<p>Click next and enter your project name and select your location and click Finish:</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut5.gif' alt='Project creation' /></p>
<p>Your CFEclipse perspective should open to your new project.  You should see the standard SVN icons letting you know these files are under version control:</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut6.gif' alt='Checked out files' /></p>
<p>And you can now manage these files in Subversion via the <em>Team</em> menu:</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svntut7.gif' alt='Team Menu' /></p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/02/25/setting-up-a-new-cfeclipse-project-using-subclipse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SVN:Externals &#8211; Setting In CFEclipse/Subclipse</title>
		<link>http://thecrumb.com/2008/02/22/svnexternals-setting-in-cfeclipsesubclipse/</link>
		<comments>http://thecrumb.com/2008/02/22/svnexternals-setting-in-cfeclipsesubclipse/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 15:15:27 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CFEclipse]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/2008/02/22/svnexternals-setting-in-cfeclipsesubclipse/</guid>
		<description><![CDATA[Have you used svn:externals yet? From the SVN book online: Sometimes it is useful to construct a working copy that is made out of a number of different checkouts. For example, you may want different subdirectories to come from different &#8230; <a href="http://thecrumb.com/2008/02/22/svnexternals-setting-in-cfeclipsesubclipse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have you used <em>svn:externals</em> yet?  From the <a href="http://svnbook.red-bean.com/en/1.0/ch07s03.html">SVN book online</a>:</p>
<blockquote><p>Sometimes it is useful to construct a working copy that is made out of a number of different checkouts. For example, you may want different subdirectories to come from different locations in a repository, or perhaps from different repositories altogether. You could certainly setup such a scenario by hand—using svn checkout to create the sort of nested working copy structure you are trying to achieve. But if this layout is important for everyone who uses your repository, every other user will need to perform the same checkout operations that you did.</p>
<p>Fortunately, Subversion provides support for externals definitions. An externals definition is a mapping of a local directory to the URL—and possibly a particular revision—of a versioned resource. </p></blockquote>
<p>At work &#8211; I have the following setup in Subversion:</p>
<ul>
<li>/trunk
<ul>
<li>/artifacts (my docs)</li>
<li>/build (my Ant build files)</li>
<li>/coldfusion (my CFM code)</li>
<li>/oracle (my ddl scripts, etc)</li>
<li>/testing (my selenium scripts)</li>
</ul>
</li>
</ul>
<p>While I could checkout /trunk and setup my webserver to point to the /coldfusion directory this wouldn&#8217;t be exactly the same as my production environment.  I need to checkout the /coldfusion directory.  This leaves my build, testing and other directories left out.  By using <em>svn:externals</em> I can grab those directories as well during checkout.</p>
<p><strong>Note:</strong> Be aware there are several issues with svn:externals regarding update/commits of code included in the external directories.  Please read the related documents online (and if you have <a href="http://tortoisesvn.tigris.org/">Tortoise SVN</a> installed  check out the section related to svn:externals in their excellent HELP section &#8211; it is listed under the &#8220;How Do I&#8230;&#8221; section in &#8220;Include a common sub-project&#8221;).</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svnext1.gif' alt='svn:externals - checkout' class="right" /></p>
<p>Now lets see how to setup svn:externals using CFEclipse.  First if you haven&#8217;t already &#8211; we&#8217;ll checkout a copy of our project.  Here I&#8217;m checking out a my /coldfusion subdirectory which contains my project code.</p>
<p>Here is the project in the CFEclipse Navigator view. You can see the path reflected (core/trunk/coldfusion).  Now I need to add the other directories (build, testing, etc)</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svnext2.gif' alt='Navigator view' /></p>
<p>Now we can right click on the top level of our project &#8211; select Team &gt; Set Property.</p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svnext3.gif' alt='Set Property' /></p>
<p>The svn property dialog will appear.  For the property name select <em>svn:externals</em>.  Make sure &#8220;Enter a text property&#8221; is selected and enter the following (alter this path to match what you want to include):</p>
<pre class="brush: plain; title: ; notranslate">
oracle https://your.svn.repo.com/svn/telework/core/trunk/oracle
</pre>
<p>The svn:property consists of two items &#8211; one the name &#8211; here I&#8217;m using &#8216;oracle&#8217; and the full path to the repo.  We can define several of these so we&#8217;ll end up with:</p>
<pre class="brush: plain; title: ; notranslate">
oracle https://your.svn.repo.com/svn/telework/core/trunk/oracle
testing https://your.svn.repo.com/svn/telework/core/trunk/testing
build https://your.svn.repo.com/svn/telework/core/trunk/build
artifacts https://your.svn.repo.com/svn/telework/core/trunk/artifacts
</pre>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svnext4.gif' alt='Externals' /></p>
<p><img src='http://thecrumb.com/wp-content/uploads/2008/02/svnext5.gif' alt='External directories' class="right" />  Click OK and you will return to the Navigator view and your svn icon will have changed to let you know things are out of sync.  Commit then Update your project (Team &gt; Commit / Update) and you should now see your external directories!</p>
<p>Again please note there are some things to be aware of regarding updating and commiting changes in the external directories. From the Tortoise SVN Help:</p>
<blockquote><p>Each time you update your main working copy, you will also receive the latest version of all external projects.</p>
<p>If the external project is in the same repository, any changes you make there there will be included in the commit list when you commit your main project.</p>
<p>If the external project is in a different repository, any changes you make to the external project will be notified when you commit the main project, but you have to commit those external changes separately.</p></blockquote>
<p>While in this example I am using CFEclipse and Subclipse you should be able to follow similar steps using any tool that works with Subversion.</p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2008/02/22/svnexternals-setting-in-cfeclipsesubclipse/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CFMeetup:  Pragmatic ColdFusion: Build, Test, Deploy</title>
		<link>http://thecrumb.com/2007/12/13/cfmeetup-pragmatic-coldfusion-build-test-deploy-2/</link>
		<comments>http://thecrumb.com/2007/12/13/cfmeetup-pragmatic-coldfusion-build-test-deploy-2/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 19:55:59 +0000</pubDate>
		<dc:creator>Jim Priest</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/2007/12/13/cfmeetup-pragmatic-coldfusion-build-test-deploy-2/</guid>
		<description><![CDATA[John Paul Ashenfelter gave a great presentation this afternoon on CFMeetup. &#8220;Pragmatic ColdFusion: Build, Test, Deploy&#8221; covered really high level concepts of using Ant, version control and testing to manage your applications. I am already doing some of the same &#8230; <a href="http://thecrumb.com/2007/12/13/cfmeetup-pragmatic-coldfusion-build-test-deploy-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ashenfelter.com/">John Paul Ashenfelter</a> gave a great presentation this afternoon on CFMeetup.  &#8220;Pragmatic ColdFusion: Build, Test, Deploy&#8221; covered really high level concepts of using Ant, version control and  testing to manage your applications.   I am already doing some of the same things but it is always neat to see how people do things differently.</p>
<p>One thing I liked is John had tagging built into his Ant scripts.  He tags everything when his build file is run.  I think I&#8217;m going to write up a &#8216;yes/no&#8217; dialog so I can be prompted and skip it if I don&#8217;t want to create a tag.   I&#8217;m also curious about using something like Cruise Control for continuous integration.   I really want to learn more about how people implement that when developing web applications.</p>
<p>I&#8217;m also going to start using the <a href="http://subclipse.tigris.org/svnant.html">SVNAnt</a> task instead of calling exec.  The syntax looks MUCH cleaner.</p>
<p>The <a href="http://coldfusion.meetup.com/17/messages/boards/view/viewthread?thread=3147031">CFMeetup Link</a> to John&#8217;s presentation:  <a href="http://experts.acrobat.com/p41566907/">http://experts.acrobat.com/p41566907/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thecrumb.com/2007/12/13/cfmeetup-pragmatic-coldfusion-build-test-deploy-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

