<?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/"
	xmlns:go='http://ns.gigaom.com/'
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GigaOM &#187; Apple</title>
	<atom:link href="http://gigaom.com/apple/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://gigaom.com</link>
	<description></description>
	<lastBuildDate>Fri, 10 Feb 2012 10:55:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gigaom.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/0db8f6557d022075dbbf010c54d46d93?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>GigaOM &#187; Apple</title>
		<link>http://gigaom.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gigaom.com/osd.xml" title="GigaOM" />
	<atom:link rel='hub' href='http://gigaom.com/?pushpress=hub'/>
		<item>
		<title>How-To: Setup a SVN Server Under OS X 10.6</title>
		<link>http://gigaom.com/apple/how-to-setup-a-svn-server-under-os-x-10-6/</link>
		<comments>http://gigaom.com/apple/how-to-setup-a-svn-server-under-os-x-10-6/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 18:30:44 +0000</pubDate>
		<dc:creator>Andrew Bednarz</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[10.6]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=39264</guid>
		<description><![CDATA[Last year I took a look at a number of Subversion clients for OS X, finally settling on Versions as my client of choice for my personal coding needs. At the time, I was running a Linux server on some old generic hardware from the days [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=173847&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="SVN logo" src="http://gigapple.files.wordpress.com/2010/01/6f5acd617519177b_d.png?w=200&#038;h=173" alt="" width="200" height="173" class=" alignleft" /></p>
<p class="excerpt">Last year I <a href="http://gigaom.com/apple/12-subversion-apps-for-os-x/">took a look</a> at a number of Subversion clients for OS X, finally settling on <a href="http://versionsapp.com/">Versions</a> as my client of choice for my personal coding needs. At the time, I was running a Linux server on some old generic hardware from the days before I drank the Apple Koolaid. After deciding to upgrade my wife&#8217;s 17&#8243; iMac with the new i5 27&#8243; model, I realized I could ditch the old Linux hardware and get some great power savings (and hence reduced electricity bill) in the process. The first task I had was moving my SVN repository over from the Linux machine (Ubuntu 9.10) to the iMac running OS X 10.6&#8230;and this is how I did it.</p>
<p>All of the SVN application binaries, including the server, already come pre-installed with OS X 10.6, located in the <code>/usr/bin/</code> directory, so we just have a few steps to get that running.</p>
<ol>
<li>Create a system user for SVN.</li>
<li>Create a new repository to store your code in.</li>
<li>Optionally create specific SVN users for submission tracking.</li>
<li>Configure the server to run automatically at system startup.</li>
</ol>
<p><span id="more-173847"></span></p>
<h3>Creating an SVN user</h3>
<p>While you could easily run the SVN sever with the root user account, for better system security it&#8217;s always best to have a dedicated user to run a specific service such as SVN. This limits any possible vulnerabilities in the SVN software from harming the rest of your system; if an exploit is used to end up with a command line ability, the attacker can only damage files belonging to the SVN user.</p>
<ol>
<li>Open System Preferences and go the Accounts page.<br />
<img  title="svnserver-1" src="http://gigapple.files.wordpress.com/2010/01/svnserver-1.png?w=570&#038;h=403" alt="" width="570" height="403" class=" alignleft" /></li>
<li>Add a new standard user named <code>svn</code> with a suitable password.<br />
<img  title="svnserver-2" src="http://gigapple.files.wordpress.com/2010/01/svnserver-2.png?w=570&#038;h=442" alt="" width="570" height="442" class=" alignleft" /></li>
</ol>
<p>This user will be included in the OS X login screen when you start your computer. Since there is usually no reason for somebody to log onto the desktop with this user, it can be hidden from the login screen. You can do so by opening the Terminal application and running the following command:</p>
<p><pre class="brush: powershell;">sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add svn</pre></p>
<p>If you ever do want to login as the svn user to the desktop, you can click the new &#8216;Other&#8217; option that appears in the login screen and manually enter the username. On the other hand, if you don&#8217;t want the &#8216;Other&#8217; option at all you can also disable this by entering the following in a terminal window:</p>
<p><pre class="brush: powershell;">sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE</pre></p>
<p>You can also delete all the default directories created under the <code>/Users/svn/</code> directory if you prefer a neat and tidy file system.</p>
<h3>Creating your SVN repository</h3>
<p>We now need to create the specific root directory for our repository and create it using the <code>svnadmin</code> command by launching the OS X Terminal application and entering the following commands.</p>
<p><pre class="brush: powershell;">
sudo -u svn mkdir /Users/svn/svnroot
sudo -u svn svnadmin create /Users/svn/svnroot
</pre></p>
<p>You can now view the <code>/Users/svn/svnroot</code> directory and see that new files have been created to form the base of your new repository.</p>
<p><img  title="svnserver-3" src="http://gigapple.files.wordpress.com/2010/01/svnserver-3.png?w=535&#038;h=162" alt="" width="535" height="162" class=" alignleft" /></p>
<h3>Creating SVN users (optional)</h3>
<p>If you are working on your own code and you know without a doubt that nobody else will be accessing your repository, you can skip this step. However it doesn&#8217;t hurt to configure a dedicated user now even if it&#8217;s just for your sole use, so that code check-ins are properly attributed. To do this we first need to edit the <code>svnserve.conf</code> file and enable the <code>passwd</code> file for user authentication. An easy way from the terminal to edit a file is by using the nano text editor:</p>
<p><pre class="brush: powershell;">sudo -u svn nano /Users/svn/svnroot/conf/svnserve.conf</pre></p>
<p>Remove the # from line 20 so it looks like this:</p>
<p><pre class="brush: powershell;">
  ### Uncomment the line below to use the default password file.
  password-db = passwd
</pre></p>
<p>If using nano, press Control+X and save your changes. Next edit the <code>passwd</code> file:</p>
<p><pre class="brush: powershell;">sudo -u svn nano /Users/svn/svnroot/conf/passwd</pre></p>
<p>Then add the desired usernames and passwords, in my case I&#8217;m adding the user &#8216;bed&#8217; for myself:</p>
<p><pre class="brush: powershell;">
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
bed = beds_secret_svn_password
</pre></p>
<h3>Scheduling the server to start automatically</h3>
<p>OS X uses the <code><a href="http://developer.apple.com/macosx/launchd.html">launchd</a></code> subsystem for automatically starting background services. The easiest way to configure <code>svnserve</code> to run automatically via launchd is by using Lingon. You can grab the latest version from <a href="http://sourceforge.net/projects/lingon/files/Lingon/2.1.1/Lingon-2.1.1.zip/download">Sourceforge</a>. For more details on using Lingon see this <a href="http://gigaom.com/apple/task-scheduling-with-lingon/">previous article</a> I put together, but for this task we just need to add a new User Daemon:</p>
<ol>
<li>Run Lingon, click the New button and select User Daemons.<br />
<img  title="svnserver-4" src="http://gigapple.files.wordpress.com/2010/01/svnserver-4.png?w=570&#038;h=222" alt="" width="570" height="222" class=" alignleft" /></li>
<li>Fill out the dialog as follows:<br />
Name: <code>org.subversion.svnserve</code><br />
What: <code>/usr/bin/svnserve --inetd  --root=/Users/svn/svnroot/</code></p>
<p><img  title="svnlingon" src="http://gigapple.files.wordpress.com/2010/01/svnlingon.png?w=534&#038;h=652" alt="" width="534" height="652" class=" alignleft" /></li>
<p>We now need to click the &#8220;Expert&#8221; button at the bottom and add the following text under the <code>&lt;dict&gt;</code> section:</ol>
<p><pre class="brush: xml;">
&lt;key&gt;Sockets&lt;/key&gt;
&lt;dict&gt;
  &lt;key&gt;Listeners&lt;/key&gt;
  &lt;dict&gt;
    &lt;key&gt;SockFamily&lt;/key&gt;
    &lt;string&gt;IPv4&lt;/string&gt;
    &lt;key&gt;SockServiceName&lt;/key&gt;
    &lt;string&gt;svn&lt;/string&gt;
    &lt;key&gt;SockType&lt;/key&gt;
    &lt;string&gt;stream&lt;/string&gt;
  &lt;/dict&gt;
&lt;/dict&gt;
&lt;key&gt;inetdCompatibility&lt;/key&gt;
&lt;dict&gt;
  &lt;key&gt;Wait&lt;/key&gt;
  &lt;false/&gt;
&lt;/dict&gt;
&lt;key&gt;Umask&lt;/key&gt;
&lt;integer&gt;2&lt;/integer&gt;
&lt;key&gt;UserName&lt;/key&gt;
&lt;string&gt;svn&lt;/string&gt;
&lt;key&gt;GroupName&lt;/key&gt;
&lt;string&gt;staff&lt;/string&gt;
</pre></p>
<p>So that it looks like this:</p>
<p><img  title="svnexpert" src="http://gigapple.files.wordpress.com/2010/01/svnexpert.png?w=402&#038;h=460" alt="" width="402" height="460" class=" alignleft" /></p>
<p>Click the save button again and then reboot your computer to give it a test by connecting to localhost or your IP address with your favorite SVN client, ie: <code>svn://bed@localhost</code>. Your SVN server is now ready to be used! The SVN server will only be launched when you first try and use it, so it won&#8217;t be taking up any unnecessary resources.</p>
<h3>Migrating an existing repository</h3>
<p>If you&#8217;re like me, and want to migrate an existing repository from another system you can do so easily by skipping the <code>svnadmin</code> command in step two, and just copy the repository directory from the old system to the new system. I would advise to upgrade your existing repository first to ensure that it is compatible with the version of SVN that comes with OS X (SVN version 1.6.x). Also you&#8217;ll want to ensure that the copied file&#8217;s owner becomes the new SVN user created in step one.</p>
<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=173847&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-setup-a-svn-server-under-os-x-10-6/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/205e8de04de9d77f950d5e6d2eec961b?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">bed</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/6f5acd617519177b_d.png" medium="image">
			<media:title type="html">SVN logo</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/svnserver-1.png?w=570" medium="image">
			<media:title type="html">svnserver-1</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/svnserver-2.png?w=570" medium="image">
			<media:title type="html">svnserver-2</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/svnserver-3.png" medium="image">
			<media:title type="html">svnserver-3</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/svnserver-4.png?w=570" medium="image">
			<media:title type="html">svnserver-4</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/svnlingon.png" medium="image">
			<media:title type="html">svnlingon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/svnexpert.png" medium="image">
			<media:title type="html">svnexpert</media:title>
		</media:content>
	</item>
		<item>
		<title>12 Subversion Apps for OS X</title>
		<link>http://gigaom.com/apple/12-subversion-apps-for-os-x/</link>
		<comments>http://gigaom.com/apple/12-subversion-apps-for-os-x/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 17:00:25 +0000</pubDate>
		<dc:creator>Andrew Bednarz</dc:creator>
				<category><![CDATA[CNN Big Tech]]></category>
		<category><![CDATA[NYT Enterprise]]></category>
		<category><![CDATA[SYN Feature Enterprise]]></category>
		<category><![CDATA[Cornerstone]]></category>
		<category><![CDATA[finder]]></category>
		<category><![CDATA[iSVN]]></category>
		<category><![CDATA[JSVN]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[RapidSVN]]></category>
		<category><![CDATA[SCPlugin]]></category>
		<category><![CDATA[SmartSVN]]></category>
		<category><![CDATA[Subclipse]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[svnX]]></category>
		<category><![CDATA[Syncro SVN]]></category>
		<category><![CDATA[versions]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=17745</guid>
		<description><![CDATA[Subversion (also known as SVN) is a popular version control system. Accessing SVN repositories with OS X is easy &#8211; and there are numerous options to do so. In this article we&#8217;ll cover 12 different applications that let you access and use Subversion in OS X. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172399&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="subversion_logo-384x332" src="http://gigapple.files.wordpress.com/2009/02/subversion_logo-384x332.png?w=180&#038;h=155" alt="subversion_logo-384x332" width="180" height="155" class=" alignleft" /></p>
<p class="excerpt"><a href="http://subversion.tigris.org/">Subversion</a> (also known as SVN) is a popular version control system. Accessing SVN repositories with OS X is easy &#8211; and there are numerous options to do so. In this article we&#8217;ll cover 12 different applications that let you access and use Subversion in OS X.</p>
<p>Version 1.4 of the command-line SVN client ships with OS X Leopard and is the quickest way to get started (for OS X Tiger, or if you need SVN 1.5 an easy installer can be found <a href="http://www.collab.net/downloads/community/">here</a>). All you need to do is fire up the Terminal application and type <code>svn</code> with the required parameters.  A great resource to learning how to use the command-line client (and all the functionality of Subversion) can be found at <a href="http://svnbook.red-bean.com/">Version Control with Subversion</a> &#8211; a free online book. From the command line you can do everything required. In fact, some people will swear against doing anything SVN-related <em>without</em> dealing directly with the command line.</p>
<p>However there are reasons most of us love OS X, and a large number of those reasons relate to the great user interface experience. So what tools are there that can expose SVN functionality via a user interface? <span id="more-172399"></span></p>
<h3>Mac-Only SVN Clients</h3>
<p><a href="http://developer.apple.com/TOOLS/xcode/"><strong>XCode</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/xcode.png"><img  title="xcode" src="http://gigapple.files.wordpress.com/2009/02/xcode.png?w=547&#038;h=357" alt="xcode" width="547" height="357" class=" alignleft" /></a></p>
<p>If you have a need to access a subversion repository with OS X, you are likely to already be familiar with XCode, Apple&#8217;s development IDE. Like most good IDEs, XCode has built-in support for version control, including SVN (as well as CVS and Perforce). This works well for basic functionality and if the scope of your needs falls within OS X and/or iPhone development, this will do the job.</p>
<p><a href="http://www.lachoseinteractive.net/en/community/subversion/svnx/features/"><strong>svnX</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/svnx.png"><img  title="svnx" src="http://gigapple.files.wordpress.com/2009/02/svnx.png?w=514&#038;h=440" alt="svnx" width="514" height="440" class=" alignleft" /></a></p>
<p>svnX is an open source SVN client that uses the SVN command-line client to do the actual work and for a long time it was the best fully-featured native OS X client. The UI, however, is not what we have all come to expect from a great OS X application and it hurts the user experience. Nonetheless, for a free UI solution, one can&#8217;t complain.</p>
<p><a href="http://versionsapp.com/"><strong>Versions</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/versions.png"><img  title="versions" src="http://gigapple.files.wordpress.com/2009/02/versions.png?w=608&#038;h=379" alt="versions" width="608" height="379" class=" alignleft" /></a></p>
<p>Versions is a relatively recent commercial subversion client, made specifically for OS X, and looks like it belongs. It costs €39 ($50), but that&#8217;s a reasonable price to pay for such functionality with polish. A 21-day trial can be downloaded for free. Along with Cornerstone described below, it is the cream of the OS X Subversion clients.</p>
<p><a href="http://www.zennaware.com/cornerstone/"><strong>Cornerstone</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/cornerstone.png"><img  title="cornerstone" src="http://gigapple.files.wordpress.com/2009/02/cornerstone.png?w=613&#038;h=286" alt="cornerstone" width="613" height="286" class=" alignleft" /></a></p>
<p>Like Versions, Cornerstone is a commercial subversion client made specially for OS X that leverages its UI. At $69 (a free 14-day trial can be downloaded) it has feature parity with Versions and can also be considered  a premium solution for accessing Subversion on OS X.</p>
<p><a href="http://scplugin.tigris.org/"><strong>SCPlugin</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/scplugin.png"><img  title="scplugin" src="http://gigapple.files.wordpress.com/2009/02/scplugin.png?w=498&#038;h=258" alt="scplugin" width="498" height="258" class=" alignleft" /></a></p>
<p>SCPlugin is an open-source client that integrates with Finder and enables you to work with your source without loading a separate application. Using icon overlays, it enables you to see at a glance the state of your files, letting you perform SVN actions via the standard Finder popup menu. This was inspired by TortoiseSVN, a popular Windows SVN tool that integrates with Explorer.</p>
<p>SCPlugin is still in development and while it&#8217;s mostly functional, there are still issues with reliably badging the icons (you also need to turn off Finder&#8217;s Icon Preview feature). Nonetheless, the crucial SVN functionality (checkout, update, commit) work well. When its issues get ironed out this will be a killer solution.</p>
<p>Of note, this can be installed and used <em>along with</em> another option (ie. Versions or Cornerstone) and will simply reflect the SVN status of a local working directory by reading SVN&#8217;s hidden control files.</p>
<p><a href="http://www.einhugur.com/iSvn/index.html"><strong>iSVN</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/isvn.png"><img  title="isvn" src="http://gigapple.files.wordpress.com/2009/02/isvn.png?w=413&#038;h=354" alt="isvn" width="413" height="354" class=" alignleft" /></a></p>
<p>iSVN is currently still in development and available for free (license for the final release is still to be determined by the author), however it is quite functional in its pre-release form and requires the command-line SVN client.</p>
<p><strong><a href="http://svn-finder.sourceforge.net/">Subversion Scripts for Finder</a></strong></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/svn-finder-scripts.png"><img  title="svn-finder-scripts" src="http://gigapple.files.wordpress.com/2009/02/svn-finder-scripts.png?w=145&#038;h=204" alt="svn-finder-scripts" width="145" height="204" class=" alignleft" /></a></p>
<p>These are a collection of Apple Scripts that enable you to work with SVN directly from within Finder via Finder Scripts. Unlike SCPlugin, these are less intrusive and do not modify the look of Finder in any way. They offer a good middle ground for power users who are used to using SVN on the command line and want a quicker way to perform actions. They also allow for productive use with <a href="http://www.blacktree.com/">QuickSilver</a>. It requires the standard SVN command-line client.</p>
<h3>Cross Platform SVN Clients</h3>
<p>In addition to the above native OS X applications, there are numerous cross-platform clients that will run on OS X. While the big disadvantage to these is the lack of an OS X-friendly user interface, if you need to access Subversion across different platforms, and would like to use the same client everywhere, these will give you a standard and consistence interface. The following clients ran without issue on my OS X 10.5.6 system.</p>
<p><a href="http://rapidsvn.tigris.org/"><strong>RapidSVN</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/rapidsvn.png"><img  title="rapidsvn" src="http://gigapple.files.wordpress.com/2009/02/rapidsvn.png?w=413&#038;h=254" alt="rapidsvn" width="413" height="254" class=" alignleft" /></a></p>
<p>RapidSVN is an open-source client for Windows, Linux, OS X and other *nixes. It&#8217;s simple and functional but requires third-party tools for functionality such as visual Diffs. Its written in C++ and executes native code, so it&#8217;s the fastest cross-platform client.</p>
<p><a href="http://www.syntevo.com/smartsvn/features.html"><strong>SmartSVN</strong></a><strong> </strong></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/smartsvn.png"><img  title="smartsvn" src="http://gigapple.files.wordpress.com/2009/02/smartsvn.png?w=413&#038;h=251" alt="smartsvn" width="413" height="251" class=" alignleft" /></a></p>
<p>SmartSVN is a powerful Java-based client that is offered in a basic open-source variety and an advanced commercial variety ($79). While it is Java-based, there are specific versions for Windows, OS X and Linux, each supporting their native environments (the OS X version will add custom popup menus into Finder as an example).</p>
<p><a href="http://www.syncrosvnclient.com/index.html"><strong>Syncro SVN Client</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/syncrosvn.png"><img  title="syncrosvn" src="http://gigapple.files.wordpress.com/2009/02/syncrosvn.png?w=413&#038;h=294" alt="syncrosvn" width="413" height="294" class=" alignleft" /></a></p>
<p>SyncroSVN is another fully featured, commercial Java-based client available for windows, OS X and Linux, tailored to each platform. It retails for $99 and a free 30-day trial is available. This suffers more than the other cross-platform clients with regards to the user interface (I have never seen MDI child windows with OS X style window management buttons in any other application before).</p>
<p><a href="http://jsvn.alternatecomputing.com/"><strong>JSVN</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/jsvn.png"><img  title="jsvn" src="http://gigapple.files.wordpress.com/2009/02/jsvn.png?w=413&#038;h=183" alt="jsvn" width="413" height="183" class=" alignleft" /></a></p>
<p>JSVN is a very no-frills, open-source option and is quite functional. It is by far the fastest Java-based client.</p>
<p><a href="http://subclipse.tigris.org/"><strong>Subclipse</strong></a></p>
<p><a href="http://gigapple.files.wordpress.com/2009/02/subclipse.png"><img  title="subclipse" src="http://gigapple.files.wordpress.com/2009/02/subclipse.png?w=413&#038;h=238" alt="subclipse" width="413" height="238" class=" alignleft" /></a></p>
<p>Subclipse is an add-on to the cross-platform <a href="http://www.eclipse.org/">Eclipse</a> IDE (which is Java-based, but language independent) . This requires you to upgrade the command-line SVN client that comes with Leopard from 1.4 to 1.5, however, and is best suited to those who already use Eclipse regularly.</p>
<h3>What do you think?</h3>
<p>What&#8217;s your favorite Subversion client for OS X? Are there any other clients I don&#8217;t know about? Let us know with a comment.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172399+12-subversion-apps-for-os-x&utm_content=bed42">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172399+12-subversion-apps-for-os-x&utm_content=bed42">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172399+12-subversion-apps-for-os-x&utm_content=bed42">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172399+12-subversion-apps-for-os-x&utm_content=bed42">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=172399&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/12-subversion-apps-for-os-x/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/205e8de04de9d77f950d5e6d2eec961b?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">bed</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/subversion_logo-384x332.png?w=300" medium="image">
			<media:title type="html">subversion_logo-384x332</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/xcode.png" medium="image">
			<media:title type="html">xcode</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/svnx.png" medium="image">
			<media:title type="html">svnx</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/versions.png" medium="image">
			<media:title type="html">versions</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/cornerstone.png" medium="image">
			<media:title type="html">cornerstone</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/scplugin.png" medium="image">
			<media:title type="html">scplugin</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/isvn.png" medium="image">
			<media:title type="html">isvn</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/svn-finder-scripts.png" medium="image">
			<media:title type="html">svn-finder-scripts</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/rapidsvn.png" medium="image">
			<media:title type="html">rapidsvn</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/smartsvn.png" medium="image">
			<media:title type="html">smartsvn</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/syncrosvn.png" medium="image">
			<media:title type="html">syncrosvn</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/jsvn.png" medium="image">
			<media:title type="html">jsvn</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/subclipse.png" medium="image">
			<media:title type="html">subclipse</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting Up Xcode &amp; Beanstalk Hosted Subversion</title>
		<link>http://gigaom.com/apple/setting-up-xcode-and-beanstalk-hosted-subversion/</link>
		<comments>http://gigaom.com/apple/setting-up-xcode-and-beanstalk-hosted-subversion/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 21:00:14 +0000</pubDate>
		<dc:creator>Jonathan Buys</dc:creator>
				<category><![CDATA[pocket pc]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=9414</guid>
		<description><![CDATA[If you are planning on getting started in developing for the Mac, one of the first things I recommend setting up is a version control system. Beanstalk is a hosted Subversion system, so you can access your code from anywhere you have an Internet connection, team [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171886&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="beanstalk" src="http://gigapple.files.wordpress.com/2008/12/beanstalk.png?w=266&#038;h=108" alt="" width="266" height="108" class=" alignleft" />If you are planning on getting started in developing for the Mac, one of the first things I recommend setting up is a version control system.  <a href="http://beanstalkapp.com/">Beanstalk</a> is a hosted <a href="http://subversion.tigris.org/">Subversion</a> system, so you can access your code from anywhere you have an Internet connection, team up with partners across the world, and keep a safe copy of your code off site, just in case.  It&#8217;s tempting to rely on Time Machine for the ability to roll back changes, but Subversion has some key differences that make it a clear winner in ease of use and features.</p>
<p>For one, you can host a Subversion repository anywhere, either locally on your own Mac, or on the Internet, or on your local private network.  Second, Subversion is built to work with multiple users, and can handle conflicting commits to the repository.  Finally, Subversion can integrated directly into Xcode, which is what we are going to look at here.<br />
<span id="more-171886"></span></p>
<h3>Setup Beanstalk</h3>
<p>To start, first head over to <a href="http://beanstalkapp.com">Beanstalk</a> and create an account.  Since I&#8217;m only ever working on one project at a time, the free hosting works fine for me, but there are also for-pay plans depending on your needs.  Once you have the URL for your repository, it&#8217;s time to make some changes in Xcode.  I&#8217;ll assume that you already have a project that you want to work with, and some code that you are ready to back up.</p>
<h3>Setup Xcode</h3>
<p>In Xcode, select &#8220;SCM&#8221;, and &#8220;Configure SCM Repositories.&#8221; Click on the + button towards the bottom left and add a name for the repository, and select &#8220;Subversion&#8221; as the SCM System.  Add your custom URL. It will look something like this:</p>
<p><code>http://username@username.svn.beanstalkapp.com/projectname</code></p>
<p>Where username is your Beanstalk user id, and projectname is the name of your first project.  Enter in your password at the bottom, and the red error jewel at the bottom should go green and say &#8220;Authenticated.&#8221; Now that you have your repository set up, it&#8217;s time to add your project to it.</p>
<h3>Adding Your Project</h3>
<p>Open your project, and again go to the SCM menu. This time there should be a new menu option: &#8220;Configure SCM for this project,&#8221; select that.  This will bring up the info window for your project.  At the bottom of the &#8220;General&#8221; tab, change the SCM Repository selection from &#8220;None&#8221; to your newly created Beanstalk repository.  Close the info window, and go to the SCM menu item again, you should see several more options there. Go down to the bottom and select &#8220;Commit Entire Project.&#8221; This will upload the project into Beanstalk and set up your project for source control.  Once that is finished, it&#8217;s time to test it out.</p>
<h3>Testing Things Out</h3>
<p>Change one of the source code files in your project and save it.  You should see a capital &#8220;M&#8221; (for Modified) in the far left column next to the &#8220;Groups and Files&#8221; area of Xcode.  Right click on the file that you changed and select &#8220;Compare.&#8221; This will compare the change you just made with the most recently committed change in Beanstalk.  If you are happy with the change, you can select &#8220;Commit Changes&#8221; from the SCM menu item.  You should see the &#8220;M&#8221; disappear.</p>
<p>If you&#8217;ve made some changes that didn&#8217;t quite turn out the way you expected, it&#8217;s easy to roll back to a previous commit.  Just select the file that you need to roll back, go to the SCM menu and select &#8220;Update to&#8221; and &#8220;Revision&#8230;&#8221;.  This will let you select which version of the file you&#8217;d like to roll back to.</p>
<p>Using Subversion you can keep a detailed record of all the changes you make to a project as it progresses.  Using a hosted service like Beanstalk ensures that you can recover from a hard drive failure or other catastrophe with very little effort.  We have only just scratched the surface of Subversion, but by now you should be able to set up a repository, add your project to it, and commit and compare changes.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171886+setting-up-xcode-and-beanstalk-hosted-subversion&utm_content=oszen">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171886+setting-up-xcode-and-beanstalk-hosted-subversion&utm_content=oszen">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171886+setting-up-xcode-and-beanstalk-hosted-subversion&utm_content=oszen">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171886+setting-up-xcode-and-beanstalk-hosted-subversion&utm_content=oszen">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171886&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/setting-up-xcode-and-beanstalk-hosted-subversion/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d5b8247e2eb580f5443ade7bbf2a067?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jBuys</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/12/beanstalk.png" medium="image">
			<media:title type="html">beanstalk</media:title>
		</media:content>
	</item>
		<item>
		<title>Versions Subversion GUI Hits 1.0</title>
		<link>http://gigaom.com/apple/versions-subversion-gui-hits-10/</link>
		<comments>http://gigaom.com/apple/versions-subversion-gui-hits-10/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 13:00:24 +0000</pubDate>
		<dc:creator>Brian Warren</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[versions]]></category>
		<category><![CDATA[versionsapp]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=10764</guid>
		<description><![CDATA[Versions, the GUI-based Subversion client for the Mac, is now out of beta. It must have been at least a year ago, that I remember seeing some screenshots for Versions, and the development community drooled. But we had to wait. And waiting was hard. Fast-forward to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171950&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="excerpt"><a href="http://versionsapp.com/">Versions</a>, the GUI-based Subversion client for the Mac, is now out of beta. It must have been at least a year ago, that I remember seeing some screenshots for Versions, and the development community drooled. But we had to wait. And waiting was hard.</p>
<p><img src="http://gigapple.files.wordpress.com/2008/11/versionsscreen.jpg?w=604" alt="" title="versionsscreen"  class=" alignleft" /></p>
<p>Fast-forward to this summer when the first public-beta of Versions became available for download. You should have seen Twitter. Web and softare developers were giddy. Since then we&#8217;ve seen several updates to an already very nice beta, culminating with the 1.0 version, available today.</p>
<p>Versions offers the ability to visually browse repositories, see changes in your working copies, and easily set up new projects. There&#8217;s also a nice timeline view, letting you go back and see all the old edits on files and folers. Versions even gives you an easy way to set up a free remote repository using <a href="http://beanstalkapp.com/">Beanstalk</a>.</p>
<p>The GUI-based Subversion client idea isn&#8217;t new. There are a few applications, like <a href="http://www.lachoseinteractive.net/en/community/subversion/svnx/features/">svnX</a>, that have been around for quite awhile. However, if you compare the screenshots and features between Versions and svnX, you can see why Versions is getting the buzz that it is.</p>
<p>Another application to keep an eye on is <a href="http://www.zennaware.com/cornerstone/">Cornerstone</a>, which is looking very good. Cornerstone just debuted this summer and seems to be giving Versions a run for its money. This is a fantastic situation, much like VMWare Fusion and Parallels, where we get to see two excellent applications in competition against each other to make the best program.</p>
<p>Versions is a joint venture by <a href="http://www.picodev.com/">Pico</a> and <a href="http://www.madebysofa.com/">Sofa</a>. It requires Mac OS X 10.4.9 or higher (10.5.2 is recommended). You can download and try Versions for free for 21 days. After that it will set you back around $50.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171950+versions-subversion-gui-hits-10&utm_content=begoodnotbad">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171950+versions-subversion-gui-hits-10&utm_content=begoodnotbad">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171950+versions-subversion-gui-hits-10&utm_content=begoodnotbad">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171950+versions-subversion-gui-hits-10&utm_content=begoodnotbad">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171950&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/versions-subversion-gui-hits-10/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b76847ea576cbc4f3124cce70f44da13?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">Brian Warren</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/11/versionsscreen.jpg" medium="image">
			<media:title type="html">versionsscreen</media:title>
		</media:content>
	</item>
		<item>
		<title>Versions for Mac now in public beta</title>
		<link>http://gigaom.com/apple/versions-for-mac-now-in-public-beta/</link>
		<comments>http://gigaom.com/apple/versions-for-mac-now-in-public-beta/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 15:47:21 +0000</pubDate>
		<dc:creator>Jason Terhorst</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=3433</guid>
		<description><![CDATA[The long-discussed &#8220;Versions&#8221; for the Mac is now open for anyone to download, for free (for now). It&#8217;s pretty slick. It&#8217;s not as awesome as the hype built it up to be, but it&#8217;s definitely worth checking out. Versions is an app that provides a strong [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171455&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="versions" src="http://gigapple.files.wordpress.com/2008/06/versions.png?w=143&#038;h=129" alt="" width="143" height="129" class=" alignleft" /> The long-discussed &#8220;Versions&#8221; for the Mac is now open for anyone to download, for free (for now). It&#8217;s pretty slick. It&#8217;s not as awesome as the hype built it up to be, but it&#8217;s definitely worth checking out.</p>
<p>Versions is an app that provides a strong GUI front-end for the &#8220;svn&#8221; (Subversion) command-line application. I, personally, prefer a GUI over command-line, but the benefits of Subversion were worth the hassle to me in my Cocoa development. We&#8217;ve discussed Subversion and its uses and benefits in <a href="http://gigaom.com/apple/using-subversion-with-xcode-30">quite</a> <a href="http://gigaom.com/apple/textmate-and-subversion/">a</a> <a href="http://theappleblog.com/community/development/2101-anyone-running-svn-their-mac/">few</a> <a href="http://gigaom.com/apple/dev-notes-svn-and-versioning/">places</a> here on TAB before, so it&#8217;s nice to finally see an app like this come along.</p>
<p>Scott Stevenson had <a href="http://theocacao.com/document.page/576">posted an earlier sneak peek</a> of the app last week, and his comments area sparked a &#8220;war&#8221; of sorts amongst users of other version-control systems, saying that SVN is no longer &#8220;cool&#8221;.</p>
<p>John Gruber <a href="http://daringfireball.net/linked/2008/june#wed-04-versions">posted</a> a quick ping yesterday, noting how nicely it works with Beanstalk, to provide a nice end-to-end solution for newbies.</p>
<p><a href="http://www.versionsapp.com/">Check out the Versions beta</a>, and decide for yourself.</p>
<p><strong>Update: </strong>Be careful about using it with any projects for which you already have version control activated in Xcode&#8230; the two apps, for some reason, don&#8217;t work in sync. I&#8217;m not entirely sure what the problem is, but Xcode will give errors for projects that Versions touches, and isn&#8217;t able to sync until you re-checkout the project (using Xcode). Versions also runs every single file, and freaks out when my PPC machine makes an extra or different build file than my Intel machine. Again, I don&#8217;t know <em>what</em> it&#8217;s doing &#8211; only that I&#8217;m going to keep using only Xcode for this project until the authors of Versions work to integrate the two programs better.</p>
<p>I also had a problem where my Versioning provider had an out-of-date ssl certificate, and it was throwing an error that required response, but I wasn&#8217;t given any way to respond in Versions, so I had to load up the command-line svn first to get around it. Versions needs a way to present possible options/answers to the cryptic errors that svn throws.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171455+versions-for-mac-now-in-public-beta&utm_content=gigaguest">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171455+versions-for-mac-now-in-public-beta&utm_content=gigaguest">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171455+versions-for-mac-now-in-public-beta&utm_content=gigaguest">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171455+versions-for-mac-now-in-public-beta&utm_content=gigaguest">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171455&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/versions-for-mac-now-in-public-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4411542bbd7a2a9a2fc2a1b38809e45c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">gigaguest</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/06/versions.png" medium="image">
			<media:title type="html">versions</media:title>
		</media:content>
	</item>
		<item>
		<title>TextMate and Subversion</title>
		<link>http://gigaom.com/apple/textmate-and-subversion/</link>
		<comments>http://gigaom.com/apple/textmate-and-subversion/#comments</comments>
		<pubDate>Wed, 14 May 2008 14:30:45 +0000</pubDate>
		<dc:creator>Jason Terhorst</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=3264</guid>
		<description><![CDATA[I&#8217;ve used TextMate before, mostly for heavy development with PHP or Ruby on Rails, but it began to fall out of focus for me when I started using Panic&#8217;s Coda instead. I loved Coda&#8217;s interface more than any other text editor/web development application. But I lamented [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171408&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://gigapple.files.wordpress.com/2008/05/textmate.png?w=130&#038;h=133" alt="Textmate" title="textmate" width="130" height="133"  class=" alignleft" /> I&#8217;ve used <a href="http://macromates.com/">TextMate</a> before, mostly for heavy development with PHP or Ruby on Rails, but it began to fall out of focus for me when I started using <a href="http://www.panic.com/coda">Panic&#8217;s Coda</a> instead. I loved Coda&#8217;s interface more than any other text editor/web development application. But I lamented the ability to easily sync up my web work to my Subversion server, which I&#8217;ve fallen in love with. Xcode has the ability to manage versioning with Subversion in your projects, but this only works with the types of projects that Xcode handles.</p>
<p>I&#8217;m not a command-line kind of guy, even though I use Subversion. So I&#8217;ve tried to find some kind of GUI-based Subversion client. So far, the only one I&#8217;ve seen that&#8217;s available here and now was svnX. But the UI is irritating and confusing, making it pretty much unusable.</p>
<p>Then, I heard in passing from a friend that TextMate supports SVN. So I launched it up, and looked around. Sure enough, there it is &#8211; under the &#8220;<strong>Bundles</strong>&#8221; menu, and it&#8217;s the &#8220;<strong>Subversion</strong>&#8221; group. It has similar functionality to what Xcode has. Of course, you&#8217;ll want to import the project and perform the initial checkout via Terminal, but after that, you&#8217;ll be ready to go.</p>
<p>For easiest results, select the entire project&#8217;s folder from the &#8220;Open&#8230;&#8221; dialog in TextMate, to keep the whole thing at hand in TextMate.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171408+textmate-and-subversion&utm_content=gigaguest">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171408+textmate-and-subversion&utm_content=gigaguest">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171408+textmate-and-subversion&utm_content=gigaguest">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171408+textmate-and-subversion&utm_content=gigaguest">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171408&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/textmate-and-subversion/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4411542bbd7a2a9a2fc2a1b38809e45c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">gigaguest</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/05/textmate.png" medium="image">
			<media:title type="html">textmate</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Subversion with Xcode 3.0</title>
		<link>http://gigaom.com/apple/using-subversion-with-xcode-30/</link>
		<comments>http://gigaom.com/apple/using-subversion-with-xcode-30/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 16:16:32 +0000</pubDate>
		<dc:creator>Jason Terhorst</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=3049</guid>
		<description><![CDATA[When you&#8217;re coding a huge project in Xcode, and you&#8217;ve written all of this awesome stuff, it&#8217;s almost done, and the big release is coming soon, that&#8217;s when the worst happens: The hard drive that had all of your code on it dies suddenly You didn&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171346&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re coding a huge project in Xcode, and you&#8217;ve written all of this awesome stuff, it&#8217;s almost done, and the big release is coming soon, that&#8217;s when the worst happens:</p>
<ol>
<li>The hard drive that had all of your code on it dies suddenly</li>
<li>You didn&#8217;t have a backup in TimeMachine</li>
<li>Files become corrupted</li>
<li>You remove some important code, or overwrite it, accidentally &#8211; and save over your only copy; and you don&#8217;t know how you&#8217;ll ever manage to rewrite those thousands of lines of code over again</li>
<li>All of the above</li>
</ol>
<p>This is where <a href="http://subversion.tigris.org">Subversion</a> (called &#8220;SVN&#8221; for short) comes in handy.<br />
<span id="more-171346"></span><br />
What does it do? Well, in addition to storing a backup copy of your files, it is a &#8220;version control&#8221; system. This means that every time you upload a new/changed copy of something, it&#8217;s saved as a new revision of the file, not replacing the existing. All of those revisions are kept, so if you need to &#8220;roll back&#8221; to a previous version, you only need to tell the &#8220;repository&#8221; which version you want.</p>
<p>In practice, it&#8217;s not quite that simple. Subversion is mostly a console-based, text-only application, which is difficult for the average user. I&#8217;m holding out hope that <a href="http://www.versionsapp.com/" target="_blank">&#8220;Versions&#8221;</a> (a Mac SVN client) will show up soon, but it&#8217;s been in &#8220;coming soon&#8221; mode for a while. <a href="http://www.apple.com/downloads/macosx/development_tools/svnx.html" target="_blank">svnX</a> is another Cocoa-based option, but difficult to use.</p>
<p>Fortunately, since version 1.5, Xcode has offered built-in support for Subversion. It wasn&#8217;t until more recently that they got the kinks worked out. Sure, you can use SVN for other types of files &#8211; images, binaries, and other bits of data, but code is the best use &#8211; you can &#8220;merge&#8221; changes in the text itself between revisions.</p>
<p>One thing that is important to note: you&#8217;ll need a &#8220;host&#8221; for your SVN repository. This can be your local machine (works on any Mac, Linux, or Windows box), but it&#8217;s easiest to find a server provider on the web somewhere. That allows for other people to access it (if needed), and it&#8217;s a safe, off-site backup. I&#8217;m using it to keep multiple computers &#8220;synced&#8221; with the latest copy of code.</p>
<p>I can recommend <a href="http://www.versionshelf.com" target="_blank">VersionShelf</a> as a host; I&#8217;ve been using them for a little bit (still in my 30-day trial). There are others out there &#8211; if you know of a better one, please note it in the comments.</p>
<p>Once you create a repository, you <strong>must</strong> upload the project the first time using the console or some other safe SVN client. Xcode doesn&#8217;t work for the initial upload. You&#8217;ll then need to download a &#8220;working copy&#8221; from the repository to begin using SVN properly.</p>
<p>How to upload (you&#8217;ll need to understand basic Unix terminal commands for this part):</p>
<p>(if you haven&#8217;t already, you&#8217;ll need to install the SVN client &#8211; get it <a href="http://homepage.mac.com/martinott/" target="_blank">here</a>)</p>
<ol>
<li>Open Terminal from <code>/Applications/Utilities/</code></li>
<li>Type <code>svn import localpath subversionpath -m "Initial import"</code>, where localpath is the directory containing your Xcode project that you wish to upload, and the subversionpath is the destination directory of your subversion repository that you set up</li>
</ol>
<p>It will most likely ask for your password. Once that&#8217;s done, you&#8217;ll need to re-download the files that you just uploaded, so that they&#8217;re set as a &#8220;working copy&#8221;.</p>
<p>Fortunately, you can do this with Xcode.</p>
<ol>
<li>Open Xcode, and click &#8220;Preferences&#8221; under the &#8220;Xcode menu&#8230;</li>
<li>Choose the &#8220;SCM&#8221; tab.</li>
<li>Click the addition sign button under the &#8220;Repositories&#8221; list to create a new entry.</li>
<li>Type any name you want in the &#8220;Name&#8221; field, and type in the information your SVN provider gave you for the URL, user, and password fields. Xcode should be able to fill in the boxes in between, usually.</li>
<div class="text-align:center"><img  src="http://gigapple.files.wordpress.com/2008/04/picture-2.png?w=604" alt="" class=" alignleft" /></div>
<li>Click OK.</li>
<li>If the &#8220;Repositories&#8221; window doesn&#8217;t appear, get it from the &#8220;SCM&#8221; menu.</li>
<div class="text-align:center"><img  src="http://gigapple.files.wordpress.com/2008/04/picture-1.png?w=604" alt="" class=" alignleft" /></div>
<li>Choose your new repository from the list. You should see a file browser&#8230; file the folder that you just uploaded. Click it, and click the &#8220;Checkout&#8221; button in the toolbar.</li>
<li>It will ask you where to save it. I don&#8217;t recommend overwriting the old copy &#8211; put it somewhere else for safe keeping.</li>
</ol>
<p>Once you&#8217;ve downloaded the new copy, you will from then on work with it &#8211; don&#8217;t use your old one. SVN makes some hidden changes to the files to make them work for versioning.</p>
<p><a href='http://gigapple.files.wordpress.com/2008/04/picture-31.png'><img src="http://theappleblog.com/wp-content/uploads/2008/04/picture-31-150x150.png" alt="Using SCM in Xcode - changes in file list" title="Xcode-SCM-filelist" width="150" height="150"  class=" alignleft" /></a> Now when you edit and save files, you&#8217;ll see letters on the left side of the &#8220;Groups &amp; Files&#8221; list in Xcode, marking directories and files. &#8220;M&#8221; means modifications have been made to your local &#8220;working copy&#8221; that you must &#8220;commit&#8221; to the repository. &#8220;U&#8221; means the repository has been updated, and you&#8217;ll need to update your now out-of-date local working copy.</p>
<p><a href='http://gigapple.files.wordpress.com/2008/04/picture-41.png'><img src="http://theappleblog.com/wp-content/uploads/2008/04/picture-41-150x150.png" alt="Xcode SCM menu" title="Xcode-SCM-menu" width="150" height="150"  class=" alignleft" /></a> You can use the &#8220;Commit&#8221; and &#8220;Update&#8221; commands (when you have files selected in the Groups &amp; Files list) in the &#8220;SCM&#8221; menu in Xcode to download or upload changes to/from the repository.</p>
<p>For more on Subversion, and how it works, check out the <a href="http://svnbook.red-bean.com/" target="_blank">free online book</a> from O&#8217;Reily.</p>
<p>I&#8217;m exploring automated builds (and exporting those builds to a template DMG automatically), and I&#8217;ll see if I can come up with a tutorial once I figure it out.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171346+using-subversion-with-xcode-30&utm_content=gigaguest">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171346+using-subversion-with-xcode-30&utm_content=gigaguest">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171346+using-subversion-with-xcode-30&utm_content=gigaguest">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171346+using-subversion-with-xcode-30&utm_content=gigaguest">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171346&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/using-subversion-with-xcode-30/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4411542bbd7a2a9a2fc2a1b38809e45c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">gigaguest</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/04/picture-2.png" medium="image" />

		<media:content url="http://gigapple.files.wordpress.com/2008/04/picture-1.png" medium="image" />

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/04/picture-31-150x150.png" medium="image">
			<media:title type="html">Xcode-SCM-filelist</media:title>
		</media:content>

		<media:content url="http://theappleblog.com/wp-content/uploads/2008/04/picture-41-150x150.png" medium="image">
			<media:title type="html">Xcode-SCM-menu</media:title>
		</media:content>
	</item>
		<item>
		<title>iWork hates Subversion</title>
		<link>http://gigaom.com/apple/iwork-hates-subversion/</link>
		<comments>http://gigaom.com/apple/iwork-hates-subversion/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 16:02:14 +0000</pubDate>
		<dc:creator>Billy Halsey</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Software Apps]]></category>
		<category><![CDATA[iWork]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[tokbox]]></category>
		<category><![CDATA[video chat]]></category>

		<guid isPermaLink="false">http://theappleblog.com/2008/01/04/iwork-hates-subversion/</guid>
		<description><![CDATA[Or does Subversion hate iWork? I was just hit with the iWork/SVN bug that seems to be infamous among those using the two products concurrently. The problem, essentially, is the way that iWork&#8212;Pages, Numbers, and Keynote&#8212;and Subversion store their files. It&#8217;s well-known that, for some time, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171233&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Or does Subversion hate iWork? I was just hit with the <a href="http://alexking.org/blog/2007/12/20/iwork-bundles-broken" title="iWork bundles are broken">iWork/SVN bug</a> that seems to be infamous among those using the two products concurrently. The problem, essentially, is the way that iWork&#8212;Pages, Numbers, and Keynote&#8212;and Subversion store their files.</p>
<p>It&#8217;s well-known that, for some time, Apple has chosen to package certain files as <em>bundles</em>; they appear in the Finder as single files, but from the Terminal and the file system proper, they are directories. Subversion (SVN, the popular version control system), like CVS (Concurrent Versioning System&#8212;another, earlier versioning system), stores its state files containing information about the current revision, the main repository, and so forth, within special directories inside each directory under Subversion control.</p>
<p>I have been using SVN to manage revisions of my writing&#8212;a prudent thing, you might agree, as it is both easier and more robust than the &#8220;track changes&#8221; feature of Pages (or Microsoft Word, for that matter). However, the problem lies in those <code>.svn</code> subdirectories that are part of every directory under Subversion control.</p>
<p>When Pages (or Numbers or Keynote) saves a file, it appears to do so by completely overwriting what is already present: the <code>.svn</code> directory is erased in the process. Attempting to commit those changes to the central repository for safekeeping illustrates the problem:</p>
<p><img src='http://gigapple.files.wordpress.com/2008/01/terminal.jpg?w=604' alt='SVN failure'  class=" alignleft" /></p>
<p>Files (directories? bundles?) are therefore left high and dry, and the entire point of revision control becomes moot. Since iWork does not support built-in revision control (unlike Microsoft Office), utilities such as CVS or SVN would be the next best option&#8212;if they weren&#8217;t cut down by the file bundle notion.</p>
<p>Ideally, Apple would decide whether file bundles&#8212;files such as applications, plugins, and iWork files&#8212;were actually files <em>or</em> directories and treat them as one or the other in all cases. It seems that file bundles are here to stay in their present state, at least for the foreseeable future, however.</p>
<p>While there are several workarounds [<a href="http://sadilek.blogspot.com/2007/07/restore-svn-in-keynotepages-documents.html">1</a>][<a href="http://work.onemanswalk.com/2007/11/4/working-with-iwork-and-subversion">2</a>], perhaps the most logical solution is to migrate from Subversion to a different revision control system that does not suffer this problem, such as <a href="http://www.selenic.com/mercurial/wiki/index.cgi/Mercurial">Mercurial</a>, <a href="http://git.or.cz/">Git</a>, or <a href="http://www.gnu.org/software/gnu-arch/">GNU arch</a>. None of these three keeps local state information within subdirectories of the working copy.</p>
<p>It is unknown whether other bundle-type files are susceptible to SVN and CVS impotence.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171233+iwork-hates-subversion&utm_content=gigaguest">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171233+iwork-hates-subversion&utm_content=gigaguest">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171233+iwork-hates-subversion&utm_content=gigaguest">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=171233+iwork-hates-subversion&utm_content=gigaguest">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&amp;blog=14960843&amp;post=171233&amp;subd=gigaom2&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/iwork-hates-subversion/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4411542bbd7a2a9a2fc2a1b38809e45c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">gigaguest</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2008/01/terminal.jpg" medium="image">
			<media:title type="html">SVN failure</media:title>
		</media:content>
	</item>
	</channel>
</rss>
