<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.11" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Perforce as the version control system at Google</title>
	<link>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/</link>
	<description>Version control, software configuration management (SCM)</description>
	<pubDate>Thu, 21 Aug 2008 18:44:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.11</generator>

	<item>
		<title>by: version_control_system = { &#8220;Google&#8221; =&#62; &#8220;Perforce&#8221; } :: Fat Penguin</title>
		<link>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-140</link>
		<pubDate>Sat, 10 Mar 2007 07:14:05 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-140</guid>
					<description>[...] I knew Google was using Perforce for awhile. Today I ran into this blog entry and what piqued my interest was the setup and the way Google uses Perforce. Check out that page for details. I also highly recommend checking out the presentation slide on Performance and Database Locking at Large Perforce Sites. Moreover, Google has a custom code rewiew application called Mondrian, written in Django.  Mondrian is a web-based code review system built on top of a Perforce and BigTable backend with a Python-powered front-end. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] I knew Google was using Perforce for awhile. Today I ran into this blog entry and what piqued my interest was the setup and the way Google uses Perforce. Check out that page for details. I also highly recommend checking out the presentation slide on Performance and Database Locking at Large Perforce Sites. Moreover, Google has a custom code rewiew application called Mondrian, written in Django.  Mondrian is a web-based code review system built on top of a Perforce and BigTable backend with a Python-powered front-end. [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: squadette</title>
		<link>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-5</link>
		<pubDate>Mon, 11 Dec 2006 21:18:22 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-5</guid>
					<description>pablo,

I've never heard of "branch per developer" pattern, and I cannot really understand its usefulness.

I've found several interesting links to blog while researching the issue, thanks!

Also, I'll take a look at what PlasticSCM does.</description>
		<content:encoded><![CDATA[<p>pablo,</p>
<p>I&#8217;ve never heard of &#8220;branch per developer&#8221; pattern, and I cannot really understand its usefulness.</p>
<p>I&#8217;ve found several interesting links to blog while researching the issue, thanks!</p>
<p>Also, I&#8217;ll take a look at what PlasticSCM does.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: psluaces</title>
		<link>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-4</link>
		<pubDate>Mon, 11 Dec 2006 06:37:28 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-4</guid>
					<description>Well, what I wanted to say was that branches are useful not only to split development, but also to coordinate teams.

In the case you're describing, suppose every developer has its own branch (branch per developer pattern). Ok, if developer B wants to see what developer A is doing (to have a look, to help, whatever), he just takes his branch. So, no need to access his home by NFS, just use the SCM.

We internally use "branch per task" for our own development, so switching tasks is quite easy, and also sharing our work just "pointing" to what other developer is doing...

pablo</description>
		<content:encoded><![CDATA[<p>Well, what I wanted to say was that branches are useful not only to split development, but also to coordinate teams.</p>
<p>In the case you&#8217;re describing, suppose every developer has its own branch (branch per developer pattern). Ok, if developer B wants to see what developer A is doing (to have a look, to help, whatever), he just takes his branch. So, no need to access his home by NFS, just use the SCM.</p>
<p>We internally use &#8220;branch per task&#8221; for our own development, so switching tasks is quite easy, and also sharing our work just &#8220;pointing&#8221; to what other developer is doing&#8230;</p>
<p>pablo
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: squadette</title>
		<link>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-3</link>
		<pubDate>Sun, 10 Dec 2006 19:18:11 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-3</guid>
					<description>hi,

I believe it is because Google mostly does  in-house development.  The quote says "almost no developer branches".  I guess that things that they do release externally, such as Google Talk and Google Desktop, have their (maybe short) branches with fixes etc.

All other things I think just have rather short release cycle, so why bother.

As for exporting using NFS, I think this just means that every developer can take a look into another developer's $HOME, so that's more of an open attitude.  

"and have it immediately solved" -- what is "it"?

Thanks,</description>
		<content:encoded><![CDATA[<p>hi,</p>
<p>I believe it is because Google mostly does  in-house development.  The quote says &#8220;almost no developer branches&#8221;.  I guess that things that they do release externally, such as Google Talk and Google Desktop, have their (maybe short) branches with fixes etc.</p>
<p>All other things I think just have rather short release cycle, so why bother.</p>
<p>As for exporting using NFS, I think this just means that every developer can take a look into another developer&#8217;s $HOME, so that&#8217;s more of an open attitude.  </p>
<p>&#8220;and have it immediately solved&#8221; &#8212; what is &#8220;it&#8221;?</p>
<p>Thanks,
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: psluaces</title>
		<link>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-2</link>
		<pubDate>Sun, 10 Dec 2006 14:27:44 +0000</pubDate>
		<guid>http://versioncontrolblog.com/2006/12/03/perforce-as-the-version-control-system-at-google/#comment-2</guid>
					<description>I liked learning about the way they use their version control system.

But a couple of questions showed up while reading:

- While don't they use several branches? Well, my oppinon can be a bit biased, but Perforce is not very good on that... is maybe the reason?
- Why do they export their workspaces using NFS?? Why don't they use the SCM for that?? I mean, they could use "branch per task" or "branch per developer" and have it inmediately solved...

What do you think?

pablo</description>
		<content:encoded><![CDATA[<p>I liked learning about the way they use their version control system.</p>
<p>But a couple of questions showed up while reading:</p>
<p>- While don&#8217;t they use several branches? Well, my oppinon can be a bit biased, but Perforce is not very good on that&#8230; is maybe the reason?<br />
- Why do they export their workspaces using NFS?? Why don&#8217;t they use the SCM for that?? I mean, they could use &#8220;branch per task&#8221; or &#8220;branch per developer&#8221; and have it inmediately solved&#8230;</p>
<p>What do you think?</p>
<p>pablo
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
