<?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: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: Review Board vs. git-bz</title>
	<atom:link href="http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/</link>
	<description>Owen Taylor on Coding, Food, etc.</description>
	<lastBuildDate>Tue, 08 Nov 2011 23:41:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Kurt McKee</title>
		<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/#comment-1984</link>
		<dc:creator><![CDATA[Kurt McKee]]></dc:creator>
		<pubDate>Fri, 18 Sep 2009 01:16:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fishsoup.net/?p=194#comment-1984</guid>
		<description><![CDATA[&lt;q&gt;I don&#039;t want a lot of &quot;fix typo in a3f5sd&quot; type commits&lt;/q&gt;

Sure, since &#039;s&#039; isn&#039;t a hex character. *grin*]]></description>
		<content:encoded><![CDATA[<p><q>I don&#8217;t want a lot of &#8220;fix typo in a3f5sd&#8221; type commits</q></p>
<p>Sure, since &#8216;s&#8217; isn&#8217;t a hex character. *grin*</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Owen</title>
		<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/#comment-1973</link>
		<dc:creator><![CDATA[Owen]]></dc:creator>
		<pubDate>Wed, 16 Sep 2009 14:21:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fishsoup.net/?p=194#comment-1973</guid>
		<description><![CDATA[Ah, yeah, I had forgotten about Rietveld (and Gerrit, for that matter.) More things I can mine for UI ideas, anyways :-)

One&#039;s view of the relationship of Git to code review probably depends on exactly how you use Git. And there are as many ways to use Git as there are people using Git. I&#039;m personally very much in the camp of &quot;clean history&quot;. I want my history to have logically separated commits with nice commit messages that look like they were written perfectly at the first go. Even when they weren&#039;t. I don&#039;t want a lot of &quot;fix typo in a3f5sd&quot; type commits. So, if I&#039;m doing the work with &#039;git commit --amend&#039; &#039;git rebase -i&#039; and so forth to produce nice history, I might as well do that work up front *before* I ask someone to review my work. The commit messages and the logical separation will be a great help in reviewing the changes. Squashing everything on the feature branch together and presenting that for review is not as good.

If, as the result of review, I need to change one of the patches that is not at the top of the &quot;stack&quot; of commits, that can, of course, be a little challenging. My general approach would be to write an add-on patch and commit it at top, then use &#039;git rebase -i&#039; to move it down the stack and squash it with the original commit. This usually works great, and any conflicts are easy to resolve during the rebase process. If one of the older patches has to be substantially rewritten, then other techniques like creating new a new branch and cherry-picking onto it may be more useful.

Once I have the new revisions of my patches I can attach them individually or en masse to the bug with git-bz and obsolete the old revisions. The default idea of patch identity with git-bz is simple - if two patches have the same Subject, they are probably revisions of the same commit rather than independent commit, but you can easily override that and mark other patches as obsolete instead.

What isn&#039;t always so easy to deal with here is viewing the incremental changes - if someone submits A-&gt;B-&gt;C then obsoletes those three patches with four patches A&#039;-&gt;B&#039;-&gt;d-&gt;C&#039;   - the squashed approach is certainly conceptually simpler. But that doesn&#039;t that mean that the chunking isn&#039;t still useful; I want to be able to look at B&#039; with the parts that changed highlighted and say &quot;OK, that&#039;s good now&quot; and mark that patch as ready to commit, even if A is still under discussion. I haven&#039;t started on interdiff support at all in Splinter and I&#039;m not sure how well I&#039;ll be able to do. As well as being defined as simple and llghtweight, it&#039;s all written in Javascript on the client side, and while Javascript implementations of sha1, diff, etc, do exist, the performance probably won&#039;t be managable if it the algorithms get too complex...]]></description>
		<content:encoded><![CDATA[<p>Ah, yeah, I had forgotten about Rietveld (and Gerrit, for that matter.) More things I can mine for UI ideas, anyways <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>One&#8217;s view of the relationship of Git to code review probably depends on exactly how you use Git. And there are as many ways to use Git as there are people using Git. I&#8217;m personally very much in the camp of &#8220;clean history&#8221;. I want my history to have logically separated commits with nice commit messages that look like they were written perfectly at the first go. Even when they weren&#8217;t. I don&#8217;t want a lot of &#8220;fix typo in a3f5sd&#8221; type commits. So, if I&#8217;m doing the work with &#8216;git commit &#8211;amend&#8217; &#8216;git rebase -i&#8217; and so forth to produce nice history, I might as well do that work up front *before* I ask someone to review my work. The commit messages and the logical separation will be a great help in reviewing the changes. Squashing everything on the feature branch together and presenting that for review is not as good.</p>
<p>If, as the result of review, I need to change one of the patches that is not at the top of the &#8220;stack&#8221; of commits, that can, of course, be a little challenging. My general approach would be to write an add-on patch and commit it at top, then use &#8216;git rebase -i&#8217; to move it down the stack and squash it with the original commit. This usually works great, and any conflicts are easy to resolve during the rebase process. If one of the older patches has to be substantially rewritten, then other techniques like creating new a new branch and cherry-picking onto it may be more useful.</p>
<p>Once I have the new revisions of my patches I can attach them individually or en masse to the bug with git-bz and obsolete the old revisions. The default idea of patch identity with git-bz is simple &#8211; if two patches have the same Subject, they are probably revisions of the same commit rather than independent commit, but you can easily override that and mark other patches as obsolete instead.</p>
<p>What isn&#8217;t always so easy to deal with here is viewing the incremental changes &#8211; if someone submits A-&gt;B-&gt;C then obsoletes those three patches with four patches A&#8217;-&gt;B&#8217;-&gt;d-&gt;C&#8217;   &#8211; the squashed approach is certainly conceptually simpler. But that doesn&#8217;t that mean that the chunking isn&#8217;t still useful; I want to be able to look at B&#8217; with the parts that changed highlighted and say &#8220;OK, that&#8217;s good now&#8221; and mark that patch as ready to commit, even if A is still under discussion. I haven&#8217;t started on interdiff support at all in Splinter and I&#8217;m not sure how well I&#8217;ll be able to do. As well as being defined as simple and llghtweight, it&#8217;s all written in Javascript on the client side, and while Javascript implementations of sha1, diff, etc, do exist, the performance probably won&#8217;t be managable if it the algorithms get too complex&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Owen</title>
		<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/#comment-1972</link>
		<dc:creator><![CDATA[Owen]]></dc:creator>
		<pubDate>Wed, 16 Sep 2009 13:40:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fishsoup.net/?p=194#comment-1972</guid>
		<description><![CDATA[Thanks for the detailed reply, Christian.

I should emphasize that Splinter isn&#039;t an official GNOME Sysadmin Team project, or even a sysadmin project at all. It&#039;s something I&#039;m hacking on personally because it&#039;s fun and because I needed it. (I&#039;m already using a private instance to do my gnome-shell code reviews.) If I continue liking it, if other people want it, I&#039;ll push for getting it installed onto bugzilla.gnome.org, but it&#039;s not at all exclusive with someone working on a ReviewBoard instance for gnome.org.

It sounds like there is some good development going on in the area of extensibility that should allow for nice Review Board  Bugzilla integration. I&#039;d also imagine that some of the areas where ReviewBoard and post-review seem to me like not a perfect fit for Git will be smoothed out as Git is used for Review Board development itself. The attractiveness of ReviewBoard over time should only increase.

Single-sign-on: yes, both Review Board and Bugzilla support LDAP and the GNOME accounts database (what Mango frontends) is in LDAP. But a) it&#039;s not self-service b) it&#039;s not open for sign-up without applying for some sort of GNOME account. So there&#039;s significant infrastructure development work there.

Multiple IDs: My concern really wasn&#039;t that we&#039;d always have two identifiers for the *same* thing, but that we&#039;d have multiple types of identifiers that would sometimes overlap and sometimes not and it would be unclear what to use where.]]></description>
		<content:encoded><![CDATA[<p>Thanks for the detailed reply, Christian.</p>
<p>I should emphasize that Splinter isn&#8217;t an official GNOME Sysadmin Team project, or even a sysadmin project at all. It&#8217;s something I&#8217;m hacking on personally because it&#8217;s fun and because I needed it. (I&#8217;m already using a private instance to do my gnome-shell code reviews.) If I continue liking it, if other people want it, I&#8217;ll push for getting it installed onto bugzilla.gnome.org, but it&#8217;s not at all exclusive with someone working on a ReviewBoard instance for gnome.org.</p>
<p>It sounds like there is some good development going on in the area of extensibility that should allow for nice Review Board  Bugzilla integration. I&#8217;d also imagine that some of the areas where ReviewBoard and post-review seem to me like not a perfect fit for Git will be smoothed out as Git is used for Review Board development itself. The attractiveness of ReviewBoard over time should only increase.</p>
<p>Single-sign-on: yes, both Review Board and Bugzilla support LDAP and the GNOME accounts database (what Mango frontends) is in LDAP. But a) it&#8217;s not self-service b) it&#8217;s not open for sign-up without applying for some sort of GNOME account. So there&#8217;s significant infrastructure development work there.</p>
<p>Multiple IDs: My concern really wasn&#8217;t that we&#8217;d always have two identifiers for the *same* thing, but that we&#8217;d have multiple types of identifiers that would sometimes overlap and sometimes not and it would be unclear what to use where.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikkel Kamstrup Erlandsen</title>
		<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/#comment-1966</link>
		<dc:creator><![CDATA[Mikkel Kamstrup Erlandsen]]></dc:creator>
		<pubDate>Wed, 16 Sep 2009 06:29:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fishsoup.net/?p=194#comment-1966</guid>
		<description><![CDATA[&quot;While I imagine it’s exciting to see two developers discussing obscure details of a patch to fix your reported crash, I also can imagine that it can be confusing and intimidating, and maybe people would prefer to just get a high-level summary when a patch was comimtted rather than all the details in their mailbox.&quot;

Please don&#039;t take the obscure conversations away. While they may be a bit intimidating they also hold a weird attractive power. They need to be Googleable.

Trawling Bugzilla logs is one of my main places to pick up those gold nuggest that are not documented elsewhere. Speaking for myself at least :-)]]></description>
		<content:encoded><![CDATA[<p>&#8220;While I imagine it’s exciting to see two developers discussing obscure details of a patch to fix your reported crash, I also can imagine that it can be confusing and intimidating, and maybe people would prefer to just get a high-level summary when a patch was comimtted rather than all the details in their mailbox.&#8221;</p>
<p>Please don&#8217;t take the obscure conversations away. While they may be a bit intimidating they also hold a weird attractive power. They need to be Googleable.</p>
<p>Trawling Bugzilla logs is one of my main places to pick up those gold nuggest that are not documented elsewhere. Speaking for myself at least <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evan M</title>
		<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/#comment-1962</link>
		<dc:creator><![CDATA[Evan M]]></dc:creator>
		<pubDate>Wed, 16 Sep 2009 04:39:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fishsoup.net/?p=194#comment-1962</guid>
		<description><![CDATA[For the Chromium (Google Chrome) project we use the open-source Rietveld (http://code.google.com/p/rietveld/) system for reviewing patches.

We have integrated Git support directly into Rietveld and our tool git-cl (http://neugierig.org/software/git/?r=git-cl) does feature many of the pieces you seek (such as patching changes in off the review site, and including review URLs in commit messages).

In general, I think convincing people to use systems they didn&#039;t build themselves is hard; WebKit, an important upstream project of ours has their own suite of tools for meshing bugzilla and git (including a send-to-bugzilla tools as well as tools to go to the otherway, automating patches) and, despite our attempts to bridge the gap, have been building their own bugzilla-integrated system for code reviews.

I don&#039;t know if I can apply a value judgement to all this in the presence of Review Board beyond &quot;it&#039;s sure a bummer so much work is being done over and over again&quot;.  In some situations, having a variety of tools in a space leads to healthy competition and crosspolination; in others, the sort of disconnected island feeling I get whenever I look at launchpad.

I&#039;ve thought a lot about git and code review over the years and I&#039;ve written up some thoughts on why I think patch series are the wrong unit of a review here: http://neugierig.org/software/git/?url=git-cl/tree/README.codereview .  I&#039;d love to hear your thoughts on it.]]></description>
		<content:encoded><![CDATA[<p>For the Chromium (Google Chrome) project we use the open-source Rietveld (<a href="http://code.google.com/p/rietveld/" rel="nofollow">http://code.google.com/p/rietveld/</a>) system for reviewing patches.</p>
<p>We have integrated Git support directly into Rietveld and our tool git-cl (<a href="http://neugierig.org/software/git/?r=git-cl" rel="nofollow">http://neugierig.org/software/git/?r=git-cl</a>) does feature many of the pieces you seek (such as patching changes in off the review site, and including review URLs in commit messages).</p>
<p>In general, I think convincing people to use systems they didn&#8217;t build themselves is hard; WebKit, an important upstream project of ours has their own suite of tools for meshing bugzilla and git (including a send-to-bugzilla tools as well as tools to go to the otherway, automating patches) and, despite our attempts to bridge the gap, have been building their own bugzilla-integrated system for code reviews.</p>
<p>I don&#8217;t know if I can apply a value judgement to all this in the presence of Review Board beyond &#8220;it&#8217;s sure a bummer so much work is being done over and over again&#8221;.  In some situations, having a variety of tools in a space leads to healthy competition and crosspolination; in others, the sort of disconnected island feeling I get whenever I look at launchpad.</p>
<p>I&#8217;ve thought a lot about git and code review over the years and I&#8217;ve written up some thoughts on why I think patch series are the wrong unit of a review here: <a href="http://neugierig.org/software/git/?url=git-cl/tree/README.codereview" rel="nofollow">http://neugierig.org/software/git/?url=git-cl/tree/README.codereview</a> .  I&#8217;d love to hear your thoughts on it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sandy</title>
		<link>http://blog.fishsoup.net/2009/09/15/review-board-vs-git-bz/#comment-1956</link>
		<dc:creator><![CDATA[Sandy]]></dc:creator>
		<pubDate>Tue, 15 Sep 2009 23:46:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fishsoup.net/?p=194#comment-1956</guid>
		<description><![CDATA[I&#039;m really interested to see what people have to say about this.  I&#039;ve been using Review Board every day for a few months now (via git-svn, not straight git), and it&#039;s way better than traditional patch review via bugzilla.

http://reviews.mono-a11y.org

However, git-bz is also a great tool and I use it all the time for my GNOME work.

Ideally, I would have the best of both worlds.  Fortunately, Review Board has recently moved itself from SVN to git, and the developers have stated a strong interest in improving the git workflow.  So I think it&#039;s not overly optimistic to think that with so many people eager to move in the same general direction, we can end up with something that gives most people what they want.

A git-pr that somehow merged the UI of git-bz with the features of post-review would be quite sweet! :-)]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m really interested to see what people have to say about this.  I&#8217;ve been using Review Board every day for a few months now (via git-svn, not straight git), and it&#8217;s way better than traditional patch review via bugzilla.</p>
<p><a href="http://reviews.mono-a11y.org" rel="nofollow">http://reviews.mono-a11y.org</a></p>
<p>However, git-bz is also a great tool and I use it all the time for my GNOME work.</p>
<p>Ideally, I would have the best of both worlds.  Fortunately, Review Board has recently moved itself from SVN to git, and the developers have stated a strong interest in improving the git workflow.  So I think it&#8217;s not overly optimistic to think that with so many people eager to move in the same general direction, we can end up with something that gives most people what they want.</p>
<p>A git-pr that somehow merged the UI of git-bz with the features of post-review would be quite sweet! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

