<?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>Paul Solt &#187; SCM</title>
	<atom:link href="http://paulsolt.com/tag/scm/feed/" rel="self" type="application/rss+xml" />
	<link>http://paulsolt.com</link>
	<description>Putting the Inc back in Solt since 2005.</description>
	<lastBuildDate>Tue, 01 May 2012 15:03:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Xcode 3.2 SCM with SVN and Complex Project Directories</title>
		<link>http://paulsolt.com/2010/11/xcode-3-2-scm-with-svn-and-complex-project-directories/</link>
		<comments>http://paulsolt.com/2010/11/xcode-3-2-scm-with-svn-and-complex-project-directories/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 23:38:48 +0000</pubDate>
		<dc:creator>Paul Solt</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://paulsolt.com/?p=520</guid>
		<description><![CDATA[<p style="text-align: justify;">I started messing around with SCM in Xcode 3.2 using subversion and I had a minor road bump with getting SCM to see modified files outside the project directory. It turns out there&#8217;s an easy solution, but it wasn&#8217;t obvious.</p> <p style="text-align: justify;">I won&#8217;t go into details on how to setup SVN or [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I started messing around with SCM in Xcode 3.2 using subversion and I had a minor road bump with getting SCM to see modified files outside the project directory. It turns out there&#8217;s an easy solution, but it wasn&#8217;t obvious.</p>
<p style="text-align: justify;">I won&#8217;t go into details on how to setup SVN or SCM for the project, so you can follow this Apple guide for Xcode3: ﻿<a href="http://developer.apple.com/mac/articles/server/subversionwithxcode3.html">http://developer.apple.com/mac/articles/server/subversionwithxcode3.html</a></p>
<p style="text-align: justify;"><strong>Problem</strong>: I have common source that will be shared across different platforms in the source directory, above my Xcode projects directory. The default settings for SCM will look in your projects directory, but I need to look two directories up. (../../)</p>
<div id="attachment_523" class="wp-caption aligncenter" style="width: 442px"><a href="http://paulsolt.com/wp-content/uploads/2010/03/ProjectStructure1.png"><img class="size-full wp-image-523 " title="ProjectStructure" src="http://paulsolt.com/wp-content/uploads/2010/03/ProjectStructure1.png" alt="" width="432" height="316" /></a><p class="wp-caption-text">Complex Cross-platform Project Structure</p></div>
<p style="text-align: left;">
<p><script type="text/javascript"><!--
google_ad_client = "pub-2182421302031373";
/* 468x15, created 11/9/10 */
google_ad_slot = "7180498408";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p style="text-align: left;">We need to modify the project settings for SCM and configure the roots.</p>
<ol>
<li>Double-click on the project name in the <em>Groups &amp; Files </em>Pane and you&#8217;ll get the Project Properties window.</li>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 466px"><a href="http://paulsolt.com/wp-content/uploads/2010/03/Project-Properties1.png"><img class="size-full wp-image-531 " title="Project Properties" src="http://paulsolt.com/wp-content/uploads/2010/03/Project-Properties1.png" alt="" width="456" height="430" /></a><p class="wp-caption-text">Project Properties</p></div>
<li style="text-align: justify;">Click on Configure Roots &amp; SCM in the Project Properties</li>
<li style="text-align: justify;">Set the <strong>Root</strong> to point above the project directory. In my example, the source folder is located two directories above the Xcode project. I set Roots to &#8220;../../&#8221;</li>
<div class="wp-caption aligncenter" style="width: 402px"><img class=" " title="SCM Settings" src="http://paulsolt.com/wp-content/uploads/2010/03/SCM-Settings.png" alt="" width="392" height="218" /><p class="wp-caption-text">Project Roots &amp; SCM Settings</p></div>
<li>Select the SCM repository from one that was setup during the SCM configuration process. I noticed that setting the root will reset the repository, so make sure it doesn&#8217;t change on you.</li>
<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<li style="text-align: justify;">Double-click SCM and we should be able to see any file under SVN version control in the parent directory two levels up. I can see changes to the directories <em>source, images, Xcode, docs, and tests. </em></li>
</ol>
<p style="text-align: center;">
<p style="text-align: justify;">
<div class="mceTemp mceIEcenter" style="text-align: justify;">
<dl id="attachment_526" class="wp-caption aligncenter" style="width: 432px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-526 " title="XcodeProjectLayout" src="http://paulsolt.com/wp-content/uploads/2010/03/XcodeProjectLayout.png" alt="" width="422" height="274" /></dt>
<dd class="wp-caption-dd">SCM File View with All Subdirectories</dd>
</dl>
</div>
<p style="text-align: justify;">
<h4 style="text-align: justify;">More Settings</h4>
<p style="text-align: justify;">Another helpful setting is to turn on the SCM on the files view.</p>
<ul style="text-align: justify;">
<li style="text-align: justify;">Turn on the SCM on the Editor files view: Right-click on the view bar in the file view on the right side and enable SCM. Now you can see when files have been changed in the normal view outside the SCM view.</li>
<div id="attachment_534" class="wp-caption alignnone" style="width: 469px"><a href="http://paulsolt.com/wp-content/uploads/2010/03/SCM-Menu-View.png"><img class="size-full wp-image-534   " title="SCM Menu View" src="http://paulsolt.com/wp-content/uploads/2010/03/SCM-Menu-View.png" alt="" width="459" height="179" /></a><p class="wp-caption-text">Viewing SVN File Changes</p></div>
<li>View Flat Files:  If you double-click on SCM in the Groups &amp; Files pane you will get another window. On the bottom left side there is a button. Set it to &#8220;Flat&#8221; if you like to see just the files that changed without regard to where in the SVN repository they were.</li>
</ul>
<div class="mceTemp mceIEcenter" style="text-align: justify;">
<dl id="attachment_540" class="wp-caption aligncenter" style="width: 474px;">
<dt class="wp-caption-dt"><a href="http://paulsolt.com/wp-content/uploads/2010/03/flatFiles.png"><img class="size-full wp-image-540  " title="flatFiles" src="http://paulsolt.com/wp-content/uploads/2010/03/flatFiles.png" alt="" width="464" height="378" /></a></dt>
<dd class="wp-caption-dd">Viewing SCM with the Flat Files view</dd>
</dl>
</div>
<p style="text-align: justify;">
<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://paulsolt.com/2010/11/xcode-3-2-scm-with-svn-and-complex-project-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using SCM with SVN 1.6 and Xcode 3.1.2</title>
		<link>http://paulsolt.com/2009/04/using-scm-with-svn-16-and-xcode-312/</link>
		<comments>http://paulsolt.com/2009/04/using-scm-with-svn-16-and-xcode-312/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 18:54:38 +0000</pubDate>
		<dc:creator>Paul Solt</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[svn 1.6]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[xcode 3.1.2]]></category>

		<guid isPermaLink="false">http://paulsolt.com/?p=215</guid>
		<description><![CDATA[<p style="text-align: justify;">Version control software is very important to use to keep track of changes. Today I was testing out the Xcode SCM (Software Configuration Management) integrated tools with SVN today and I had a few issues.</p> <p style="text-align: justify;">1. Xcode is trying to use the wrong dynamic libraries for SVN, if you <a title="Updating [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Version control software is very important to use to keep track of changes. Today I was testing out the Xcode SCM (Software Configuration Management) integrated tools with SVN today and I had a few issues.</p>
<p style="text-align: justify;">1. Xcode is trying to use the wrong dynamic libraries for SVN, if you <a title="Updating SVN in Leopard" href="http://www.imarichardson.com/2008/10/06/osx-svn-woes-client-is-too-old-to-work-with-working-copy/" target="_blank">update your SVN version to 1.6+</a>. Since it&#8217;s referencing the wrong libraries you will get an error similar to this one:</p>
<pre style="text-align: justify;">Error: 155021 (Unsupported working copy format) please get a
newer Subversion client</pre>
<p style="text-align: justify;">I&#8217;ve seen this type of error when I upgraded my SVN and tried to use other SCM GUI software. To fix it I <strong>googled</strong> around and found some useful information at: <a title="Blind Genius SVN Xcode Fix" href="http://blindgenius.wordpress.com/2009/03/22/subversion-16-xcode-312-versions/" target="_blank">Blind Genius Weblog </a></p>
<pre>cd /usr/lib
sudo mkdir oldSVN
sudo mv libap*-1.dylib oldSVN
sudo mv libsvn*-1.dylib oldSVN
sudo mv libap*-1.0.dylib oldSVN
sudo mv libsvn*-1.0.dylib oldSVN
$ sudo ln -s /opt/local/lib/libap*-1.0.dylib .
$ sudo ln -s /opt/local/lib/libsvn*-1.0.dylib .
$ sudo ln -s /opt/local/lib/libap*-1.dylib .
$ sudo ln -s /opt/local/lib/libsvn*-1.dylib .</pre>
<p style="text-align: justify;">Instead of removing the library files, I moved them into a new directory as backup.</p>
<p style="text-align: justify;">2. Now Xcode can use the correct updated libraries from SVN 1.6+, so I moved on to the next task of adding an existing project to the SVN repository. The tutorial at <a title="Xcode SVN Setup" href="http://www.jms1.net/iPhone/xcode-svn.shtml" target="_blank">jms1.net</a> was helpful in refreshing my memory for the SVN commands.</p>
<p style="text-align: justify;">Make a project in Xcode and then use <strong>Terminal</strong> and execute the commands. If you aren&#8217;t familar with SVN check out the <a title="SVN 1.5 Documentation" href="http://svnbook.red-bean.com/en/1.5/index.html" target="_blank">documentation</a>.</p>
<pre>cd LOCAL_PROJECT_PATH
svn mkdir SVN_REPOSITORY_LOCATION/PROJECT_NAME
svn co SVN_REPOSITORY_LOCATION/PROJECT_NAME .
svn add *
svn revert --recursive build
svn ps svn:ignore build .
svn ci</pre>
<p style="text-align: justify;">The commands create a folder in your SVN repository. Next it checks out the remote repository folder into the local project folder and add all of the project files. Once the files are &#8220;added&#8221; you&#8217;ll want to remove the build directory and ignore it from your SVN repository. Lastly it&#8217;ll commit the changes and you&#8217;re project is in the repository.</p>
<p style="text-align: justify;">3. The project is in the repository and Xcode is using the latest version of SVN. You can use the SCM tools in Xcode to manage the project.</p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://paulsolt.com/2009/04/using-scm-with-svn-16-and-xcode-312/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

