<?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/"
		>
<channel>
	<title>Comments on: Symptoms of a centralized VCS</title>
	<atom:link href="http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Thu, 23 May 2013 23:40:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Scott MacLellan</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3482</link>
		<dc:creator>Scott MacLellan</dc:creator>
		<pubDate>Sat, 18 Jun 2011 05:27:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3482</guid>
		<description>Actually Chris, renaming/moving/deleting are absolutely horrid in traditional centralized VCS like SVN whereas DVCS treat these as first class. In fact accepting patches, merging and basically any way you can exchange code is a first class citizen. It has been a while since I used TFS but if it does any better than SVN you are lucky.

While these are normally okay in a standard branch the real test is how what happens when you perform these operations then preform a merge. In SVN this leads to tree conflicts (http://stackoverflow.com/questions/1190345/svn-merge-functionality-broken-by-tree-conflicts) whereas almost any DVCS will be able to perform the merge without any issues at all.</description>
		<content:encoded><![CDATA[<p>Actually Chris, renaming/moving/deleting are absolutely horrid in traditional centralized VCS like SVN whereas DVCS treat these as first class. In fact accepting patches, merging and basically any way you can exchange code is a first class citizen. It has been a while since I used TFS but if it does any better than SVN you are lucky.</p>
<p>While these are normally okay in a standard branch the real test is how what happens when you perform these operations then preform a merge. In SVN this leads to tree conflicts (<a href="http://stackoverflow.com/questions/1190345/svn-merge-functionality-broken-by-tree-conflicts" rel="nofollow">http://stackoverflow.com/questions/1190345/svn-merge-functionality-broken-by-tree-conflicts</a>) whereas almost any DVCS will be able to perform the merge without any issues at all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ayende</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3477</link>
		<dc:creator>Ayende</dc:creator>
		<pubDate>Mon, 13 Jun 2011 09:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3477</guid>
		<description>Bil,
The way we usually do it, we have local branches + remote forks of the project.
We usually share code via the forks, not directly pushing to central repository. That handles your &quot;backup for local stuff&quot; issue.</description>
		<content:encoded><![CDATA[<p>Bil,<br />
The way we usually do it, we have local branches + remote forks of the project.<br />
We usually share code via the forks, not directly pushing to central repository. That handles your &#8220;backup for local stuff&#8221; issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3442</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Thu, 26 May 2011 18:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3442</guid>
		<description>You need to buy Visual Studio with a 1 year MSDN subscription to get TFS for &quot;free&quot;, of course if you want Ultimate, that&#039;d run you just $11,800.

Premium, which is the minimum that any developer should use is $5,500

Yes, if you have some massive volume licenses, it goes down in price, but saying it&#039;s not expensive anymore is just not accurate.

Running a MS shop is ridiculously expensive, something most developers just don&#039;t realize.</description>
		<content:encoded><![CDATA[<p>You need to buy Visual Studio with a 1 year MSDN subscription to get TFS for &#8220;free&#8221;, of course if you want Ultimate, that&#8217;d run you just $11,800.</p>
<p>Premium, which is the minimum that any developer should use is $5,500</p>
<p>Yes, if you have some massive volume licenses, it goes down in price, but saying it&#8217;s not expensive anymore is just not accurate.</p>
<p>Running a MS shop is ridiculously expensive, something most developers just don&#8217;t realize.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3440</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 26 May 2011 15:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3440</guid>
		<description>If we&#039;re doing branch-per-feature, branches tend not to live long as we can keep features small (1-5 days)</description>
		<content:encoded><![CDATA[<p>If we&#8217;re doing branch-per-feature, branches tend not to live long as we can keep features small (1-5 days)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Javier Crespo</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3439</link>
		<dc:creator>Javier Crespo</dc:creator>
		<pubDate>Thu, 26 May 2011 15:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3439</guid>
		<description>As long as you merge often to the master it&#039;s ok as the real continuous integration happens in the master.  If you don&#039;t merge often to the master,  even if you have a CI build your effective continuous integration will be broken as changes in the branch will take much longer to integrate...
If your team has the discipline to avoid long-lived-never merged branches, then it&#039;s ok IMHO. It takes discipline though...
</description>
		<content:encoded><![CDATA[<p>As long as you merge often to the master it&#8217;s ok as the real continuous integration happens in the master.  If you don&#8217;t merge often to the master,  even if you have a CI build your effective continuous integration will be broken as changes in the branch will take much longer to integrate&#8230;<br />
If your team has the discipline to avoid long-lived-never merged branches, then it&#8217;s ok IMHO. It takes discipline though&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3438</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 26 May 2011 15:14:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3438</guid>
		<description>Not sure what&#039;s different here? Master merges to branch, CI, then branch merged back to master. No matter what the semantic meaning of the branch is, the integration is the same.

We might have additional gates on integration/dev/QA/production branches though.</description>
		<content:encoded><![CDATA[<p>Not sure what&#8217;s different here? Master merges to branch, CI, then branch merged back to master. No matter what the semantic meaning of the branch is, the integration is the same.</p>
<p>We might have additional gates on integration/dev/QA/production branches though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Javier Crespo</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3437</link>
		<dc:creator>Javier Crespo</dc:creator>
		<pubDate>Thu, 26 May 2011 15:05:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3437</guid>
		<description>You&#039;re speaking about CI within the branch ( CI-per-branch). 
What about continuous integration across branches? At some point your branches will be merged to the master and it will be at that moment the real integration will happen.  

</description>
		<content:encoded><![CDATA[<p>You&#8217;re speaking about CI within the branch ( CI-per-branch). <br />
What about continuous integration across branches? At some point your branches will be merged to the master and it will be at that moment the real integration will happen.  </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3436</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 26 May 2011 12:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3436</guid>
		<description>Branches and CI mix perfectly well. We do CI-per-branch, no matter what our branching strategy, and it works just fine. You have to use a modern CI technology, though. It takes maybe 30 seconds to set up a new CI for a branch, with no builds contending with each other.

When we used a sub-par CI server, sub-par build scripts and sub-par VCS approaches, then it didn&#039;t work.</description>
		<content:encoded><![CDATA[<p>Branches and CI mix perfectly well. We do CI-per-branch, no matter what our branching strategy, and it works just fine. You have to use a modern CI technology, though. It takes maybe 30 seconds to set up a new CI for a branch, with no builds contending with each other.</p>
<p>When we used a sub-par CI server, sub-par build scripts and sub-par VCS approaches, then it didn&#8217;t work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Javier Crespo</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3435</link>
		<dc:creator>Javier Crespo</dc:creator>
		<pubDate>Thu, 26 May 2011 07:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3435</guid>
		<description>Well, I guess that the question is still fair. Do you really need to branch in the first place? Different approaches are possible without breaking Continuous Integration.

http://paulhammant.com/blog/branch_by_abstraction.html

http://martinfowler.com/bliki/FeatureToggle.html

Not saying that branches are evil and sometimes they are the best choice (when you need to support past releases for example), but it&#039;s clear that branches and CI don&#039;t mix that well.</description>
		<content:encoded><![CDATA[<p>Well, I guess that the question is still fair. Do you really need to branch in the first place? Different approaches are possible without breaking Continuous Integration.</p>
<p><a href="http://paulhammant.com/blog/branch_by_abstraction.html" rel="nofollow">http://paulhammant.com/blog/branch_by_abstraction.html</a></p>
<p><a href="http://martinfowler.com/bliki/FeatureToggle.html" rel="nofollow">http://martinfowler.com/bliki/FeatureToggle.html</a></p>
<p>Not saying that branches are evil and sometimes they are the best choice (when you need to support past releases for example), but it&#8217;s clear that branches and CI don&#8217;t mix that well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: website coder</title>
		<link>http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3434</link>
		<dc:creator>website coder</dc:creator>
		<pubDate>Thu, 26 May 2011 05:25:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/2011/05/25/symptoms-of-a-centralized-vcs/#comment-3434</guid>
		<description>I think TFS is more expensive compared to others.. IS it right?.. Those principles are very helpful to everyone.. Thanks a lot..</description>
		<content:encoded><![CDATA[<p>I think TFS is more expensive compared to others.. IS it right?.. Those principles are very helpful to everyone.. Thanks a lot..</p>
]]></content:encoded>
	</item>
</channel>
</rss>
