<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: Dev notes: SVN and versioning</title>
	<atom:link href="http://gigaom.com/apple/dev-notes-svn-and-versioning/feed/" rel="self" type="application/rss+xml" />
	<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/</link>
	<description></description>
	<lastBuildDate>Sat, 26 May 2012 01:31:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: sixthpff</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312273</link>
		<dc:creator><![CDATA[sixthpff]]></dc:creator>
		<pubDate>Thu, 17 Aug 2006 13:47:30 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312273</guid>
		<description><![CDATA[&lt;strong&gt;forisiikai...&lt;/strong&gt;

tudtskr...]]></description>
		<content:encoded><![CDATA[<p><strong>forisiikai&#8230;</strong></p>
<p>tudtskr&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: adrinux</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312272</link>
		<dc:creator><![CDATA[adrinux]]></dc:creator>
		<pubDate>Mon, 31 Jul 2006 17:06:47 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312272</guid>
		<description><![CDATA[svn is no harder than cvs to setup and it doesn&#039;t impose the branches/tags/trunk hierachy, that &#039;s merely a suggested way of working - the same goes for cvs. You can organise your repository however you like.

Will take a look at cvs-nt :)
But that looks a bit like closing the stable door after the horse has bolted.]]></description>
		<content:encoded><![CDATA[<p>svn is no harder than cvs to setup and it doesn&#8217;t impose the branches/tags/trunk hierachy, that &#8216;s merely a suggested way of working &#8211; the same goes for cvs. You can organise your repository however you like.</p>
<p>Will take a look at cvs-nt :)<br />
But that looks a bit like closing the stable door after the horse has bolted.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Etresoft</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312271</link>
		<dc:creator><![CDATA[Etresoft]]></dc:creator>
		<pubDate>Mon, 31 Jul 2006 14:32:04 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312271</guid>
		<description><![CDATA[CVS isn&#039;t dead. There are now two CVS versions. CVS-NT (at http://www.cvsnt.org) is backwards compatible with CVS but also features equivalent to SVN.

SVN is quite hard to set up and imposes an awkward branches/tags/trunk directory hierarchy for your projects. I don&#039;t like that. I&#039;m staying with CVS and moving to CVS-NT pretty soon.]]></description>
		<content:encoded><![CDATA[<p>CVS isn&#8217;t dead. There are now two CVS versions. CVS-NT (at <a href="http://www.cvsnt.org" rel="nofollow">http://www.cvsnt.org</a>) is backwards compatible with CVS but also features equivalent to SVN.</p>
<p>SVN is quite hard to set up and imposes an awkward branches/tags/trunk directory hierarchy for your projects. I don&#8217;t like that. I&#8217;m staying with CVS and moving to CVS-NT pretty soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sundown</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312270</link>
		<dc:creator><![CDATA[sundown]]></dc:creator>
		<pubDate>Mon, 31 Jul 2006 14:01:13 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312270</guid>
		<description><![CDATA[Not just for programming...

Once you&#039;re comfortable with version control, you may find, like I have, that version control can be used for any computer-based project.  Writing, graphic editing, web sites, resumes and CVs, etc., are all good examples of things that can be version controlled.  Take resumes for example - I used to have various versions of resumes scattered all over my machines and backup disks.  In version control, I have one clear working copy, I have tags grouping which version of the resume I sent out to whom, and I can always go back to review a resume I sent out a while ago.  After all, even Adobe has created version controlling systems for their software (Version Cue).]]></description>
		<content:encoded><![CDATA[<p>Not just for programming&#8230;</p>
<p>Once you&#8217;re comfortable with version control, you may find, like I have, that version control can be used for any computer-based project.  Writing, graphic editing, web sites, resumes and CVs, etc., are all good examples of things that can be version controlled.  Take resumes for example &#8211; I used to have various versions of resumes scattered all over my machines and backup disks.  In version control, I have one clear working copy, I have tags grouping which version of the resume I sent out to whom, and I can always go back to review a resume I sent out a while ago.  After all, even Adobe has created version controlling systems for their software (Version Cue).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Willis Morse</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312269</link>
		<dc:creator><![CDATA[Willis Morse]]></dc:creator>
		<pubDate>Sun, 30 Jul 2006 21:57:11 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312269</guid>
		<description><![CDATA[We use subversion exclusively now for web and Java development. For a client, the best GUI one seems to be SmartSVN as mentioned above. The Mac ones seem pretty buggy and underfeatured. Tortoise on Windows is pretty cool for small scale work, but I really like the way a GUI tool like SmartSVN gives you filesystem tree and a bunch of ways to filter the file views so you only see, for instance, modified files.

One good reason to use a GUI is when there are conflicts during a commit. SmartSVN gives you a nice graphic diff and merge tool. You can hook up the commandline client to use a standalone diff/merge tool, but that&#039;s just one more thing you have to set up and remember how to invoke.

The problems with SVN jamming happen when you the Berkley DB storage option. A better option is the FSFS filesystem, which the svn folks wrote because of the Berkley DB problems.

As far as Perforce goes, I&#039;ve been been really annoyed when I&#039;ve had to use it. It&#039;s VERY server-centric, which means you can&#039;t do anything without a continuous server connection. In order to create a local working copy, you have to tell the server where you want to put it. Once you do that, you can&#039;t seem to move your local copy around without breaking the connection. In contrast, svn stores all info inside .svn folders in your working copy (same as CVS), so you&#039;re free to move it anywhere.

The big new feature that svn brings to the table is support for renaming and moving files and folders without losing the history. You really need this when you refactor, and the lack of it has been a real hassle with Perforce.

Perforce also has this focus on having to check everything out before you can work on it. Many&#039;s the time I&#039;ve checked out a bunch of stuff, gone home for the weekend, then realized I didn&#039;t check enough files out. So I would have to manually unlock the files to make the mods. When I went in and tried to do a checkin, Perforce only knew about the changes to files I actually checked out. So I would have to manually find all the other files I changed in order to check them in, too. Not too painful if there&#039;s only a couple and you can remember what you did, but a serious round of automated refactoring could easily hit 100 files.

Svn doesn&#039;t check anything out, you&#039;re always free to work in whatever file you want and svn keeps track. It also carries around enough info locally that you can do a diff between your changes and the whole repository, without any server connection.

As far as binary file support, it always seemed very easy using Perforce to mis-characterize a binary file as text. Once you do that, as far as I could tell you had to remove the file and readd it with an explicit binary characterization. I found myself doing that a lot. In contrast, svn detects binary file autotmatically and hasn&#039;t gotten it wrong once yet in over 9 months of heavy use.

In general, I found that Perforce really got in the way. Even CVS would have been an improvement.

It could be that there are solutions to my Perforce issues, and I would love to hear them. And Perforce does seem to be some heavy duty admin features that may be useful for large hierarchical organizations working in a common location. But I suspect that after giving svn a serious try, most Perforce users wouldn&#039;t want to go back.]]></description>
		<content:encoded><![CDATA[<p>We use subversion exclusively now for web and Java development. For a client, the best GUI one seems to be SmartSVN as mentioned above. The Mac ones seem pretty buggy and underfeatured. Tortoise on Windows is pretty cool for small scale work, but I really like the way a GUI tool like SmartSVN gives you filesystem tree and a bunch of ways to filter the file views so you only see, for instance, modified files.</p>
<p>One good reason to use a GUI is when there are conflicts during a commit. SmartSVN gives you a nice graphic diff and merge tool. You can hook up the commandline client to use a standalone diff/merge tool, but that&#8217;s just one more thing you have to set up and remember how to invoke.</p>
<p>The problems with SVN jamming happen when you the Berkley DB storage option. A better option is the FSFS filesystem, which the svn folks wrote because of the Berkley DB problems.</p>
<p>As far as Perforce goes, I&#8217;ve been been really annoyed when I&#8217;ve had to use it. It&#8217;s VERY server-centric, which means you can&#8217;t do anything without a continuous server connection. In order to create a local working copy, you have to tell the server where you want to put it. Once you do that, you can&#8217;t seem to move your local copy around without breaking the connection. In contrast, svn stores all info inside .svn folders in your working copy (same as CVS), so you&#8217;re free to move it anywhere.</p>
<p>The big new feature that svn brings to the table is support for renaming and moving files and folders without losing the history. You really need this when you refactor, and the lack of it has been a real hassle with Perforce.</p>
<p>Perforce also has this focus on having to check everything out before you can work on it. Many&#8217;s the time I&#8217;ve checked out a bunch of stuff, gone home for the weekend, then realized I didn&#8217;t check enough files out. So I would have to manually unlock the files to make the mods. When I went in and tried to do a checkin, Perforce only knew about the changes to files I actually checked out. So I would have to manually find all the other files I changed in order to check them in, too. Not too painful if there&#8217;s only a couple and you can remember what you did, but a serious round of automated refactoring could easily hit 100 files.</p>
<p>Svn doesn&#8217;t check anything out, you&#8217;re always free to work in whatever file you want and svn keeps track. It also carries around enough info locally that you can do a diff between your changes and the whole repository, without any server connection.</p>
<p>As far as binary file support, it always seemed very easy using Perforce to mis-characterize a binary file as text. Once you do that, as far as I could tell you had to remove the file and readd it with an explicit binary characterization. I found myself doing that a lot. In contrast, svn detects binary file autotmatically and hasn&#8217;t gotten it wrong once yet in over 9 months of heavy use.</p>
<p>In general, I found that Perforce really got in the way. Even CVS would have been an improvement.</p>
<p>It could be that there are solutions to my Perforce issues, and I would love to hear them. And Perforce does seem to be some heavy duty admin features that may be useful for large hierarchical organizations working in a common location. But I suspect that after giving svn a serious try, most Perforce users wouldn&#8217;t want to go back.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312268</link>
		<dc:creator><![CDATA[Leo]]></dc:creator>
		<pubDate>Sat, 29 Jul 2006 09:17:31 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312268</guid>
		<description><![CDATA[http://code.google.com/hosting/ - google will now host your project - and give you SVN access to it - still VERY beta - but interesting.]]></description>
		<content:encoded><![CDATA[<p><a href="http://code.google.com/hosting/" rel="nofollow">http://code.google.com/hosting/</a> &#8211; google will now host your project &#8211; and give you SVN access to it &#8211; still VERY beta &#8211; but interesting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312267</link>
		<dc:creator><![CDATA[Michael]]></dc:creator>
		<pubDate>Sat, 29 Jul 2006 09:13:23 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312267</guid>
		<description><![CDATA[SVN isn&#039;t bad, but I&#039;ve heard of problems where the repository would get &#039;jammed&#039;. I think the only reason people are raving about it is because, in comparison, CVS can be a real pain.

Perforce is a really good version control system; it supports &#039;branches&#039; in a sophisticated way. P4v, with all its Java-based UI  quirks, is a really powerful client(sometimes almost too powerful in the hands of a novice)I use it with a team at work.

For personal stuff I use Mercurial. It&#039;s simple: you only need to learn 3 or 4 commands to get up and running. It supports branches(everything is a branch). It&#039;s stable, its at 0.91 and I&#039;ve used it since 0.7 without problems. And the rollback feature actually works. Oh, it&#039;s free! Only drawback is there is no Mac UI client yet.

http://www.selenic.com/mercurial/wiki/index.cgi

For support there&#039;s a mailing list and Freenode IRC channel, #mercurial]]></description>
		<content:encoded><![CDATA[<p>SVN isn&#8217;t bad, but I&#8217;ve heard of problems where the repository would get &#8216;jammed&#8217;. I think the only reason people are raving about it is because, in comparison, CVS can be a real pain.</p>
<p>Perforce is a really good version control system; it supports &#8216;branches&#8217; in a sophisticated way. P4v, with all its Java-based UI  quirks, is a really powerful client(sometimes almost too powerful in the hands of a novice)I use it with a team at work.</p>
<p>For personal stuff I use Mercurial. It&#8217;s simple: you only need to learn 3 or 4 commands to get up and running. It supports branches(everything is a branch). It&#8217;s stable, its at 0.91 and I&#8217;ve used it since 0.7 without problems. And the rollback feature actually works. Oh, it&#8217;s free! Only drawback is there is no Mac UI client yet.</p>
<p><a href="http://www.selenic.com/mercurial/wiki/index.cgi" rel="nofollow">http://www.selenic.com/mercurial/wiki/index.cgi</a></p>
<p>For support there&#8217;s a mailing list and Freenode IRC channel, #mercurial</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sjmills</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312266</link>
		<dc:creator><![CDATA[sjmills]]></dc:creator>
		<pubDate>Fri, 28 Jul 2006 22:00:09 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312266</guid>
		<description><![CDATA[We use &lt;a href=&quot;http://www.perforce.com/&quot; rel=&quot;nofollow&quot;&gt;Perforce&lt;/a&gt;, which is another source control product. It&#039;s very powerful, handles Mac multi-fork files, and is cross-platform. You can use p4v if you prefer a GUI, or use the p4 command line UI straight from Terminal. It also integrated with Xcode and CodeWarrior (although I still say the Xcode integration needs some work here and there). I don&#039;t know if Subversion can do this stuff, but Perforce on the server side can do lots of stuff to keep your data safe and clean, like performing automatic backups, journaling, checkpoints, etc. We like it a bunch, and I know it&#039;s used by lots of large software development companies.]]></description>
		<content:encoded><![CDATA[<p>We use <a href="http://www.perforce.com/" rel="nofollow">Perforce</a>, which is another source control product. It&#8217;s very powerful, handles Mac multi-fork files, and is cross-platform. You can use p4v if you prefer a GUI, or use the p4 command line UI straight from Terminal. It also integrated with Xcode and CodeWarrior (although I still say the Xcode integration needs some work here and there). I don&#8217;t know if Subversion can do this stuff, but Perforce on the server side can do lots of stuff to keep your data safe and clean, like performing automatic backups, journaling, checkpoints, etc. We like it a bunch, and I know it&#8217;s used by lots of large software development companies.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: george</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312265</link>
		<dc:creator><![CDATA[george]]></dc:creator>
		<pubDate>Fri, 28 Jul 2006 20:37:38 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312265</guid>
		<description><![CDATA[SmartSVN (http://www.syntevo.com/smartsvn/index.jsp) is a great java-based SVN client that has a free foundation version.]]></description>
		<content:encoded><![CDATA[<p>SmartSVN (<a href="http://www.syntevo.com/smartsvn/index.jsp" rel="nofollow">http://www.syntevo.com/smartsvn/index.jsp</a>) is a great java-based SVN client that has a free foundation version.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob</title>
		<link>http://gigaom.com/apple/dev-notes-svn-and-versioning/#comment-312264</link>
		<dc:creator><![CDATA[Bob]]></dc:creator>
		<pubDate>Fri, 28 Jul 2006 18:56:33 +0000</pubDate>
		<guid isPermaLink="false">http://theappleblog.com/2006/07/27/dev-notes-svn-and-versioning/#comment-312264</guid>
		<description><![CDATA[I have been using SVN for a while, and used CVS before it, so the commandline really isn&#039;t a big deal for me. I usually have to look up the commands every once in a while, and then, I&#039;ll get the command I want, and just keep using the UP arrow key to refetch the old line, make a modification to the message, and hit enter.

If you go deep into branching and comparing arbitrary versions to each other, it might be easier with a GUI tool, but I find (as another commenter noted) that most of the time I only need to use about 3 commands repeatedly. On the first checkout, you need to get the command right, but once you are done with that (assuming nothing awful happens), you can pretty much use &#039;svn status&#039;, &#039;svn commit&#039;, and &#039;svn add&#039; to do all the normal activities. Within the folder for the working copy, you don&#039;t even have to remember the repository location any more.

BTW, I would go so far as to state that ALL computer users should learn to use vesion control software. Heck, even if you were just keeping your game saves under version control, you might save yourself some grief. SVN (unlike CVS) works great with binary files, so you could save all images, etc., and most people doing something on a computer don&#039;t want to go to the trouble to recreate a file that was accidentally deleted, etc.]]></description>
		<content:encoded><![CDATA[<p>I have been using SVN for a while, and used CVS before it, so the commandline really isn&#8217;t a big deal for me. I usually have to look up the commands every once in a while, and then, I&#8217;ll get the command I want, and just keep using the UP arrow key to refetch the old line, make a modification to the message, and hit enter.</p>
<p>If you go deep into branching and comparing arbitrary versions to each other, it might be easier with a GUI tool, but I find (as another commenter noted) that most of the time I only need to use about 3 commands repeatedly. On the first checkout, you need to get the command right, but once you are done with that (assuming nothing awful happens), you can pretty much use &#8216;svn status&#8217;, &#8216;svn commit&#8217;, and &#8216;svn add&#8217; to do all the normal activities. Within the folder for the working copy, you don&#8217;t even have to remember the repository location any more.</p>
<p>BTW, I would go so far as to state that ALL computer users should learn to use vesion control software. Heck, even if you were just keeping your game saves under version control, you might save yourself some grief. SVN (unlike CVS) works great with binary files, so you could save all images, etc., and most people doing something on a computer don&#8217;t want to go to the trouble to recreate a file that was accidentally deleted, etc.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

