{"id":335,"date":"2009-06-20T01:05:52","date_gmt":"2009-06-20T09:05:52","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/?p=335"},"modified":"2009-06-20T01:05:52","modified_gmt":"2009-06-20T09:05:52","slug":"review-board-and-bugzilla-reviews-take-2","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2009\/06\/20\/review-board-and-bugzilla-reviews-take-2\/","title":{"rendered":"Review Board and Bugzilla reviews, take 2."},"content":{"rendered":"<p><a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-diff.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-336\" title=\"review-board-diff\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-diff-600x405.png\" alt=\"review-board-diff\" width=\"600\" height=\"405\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-diff-600x405.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-diff-300x202.png 300w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-diff-1024x692.png 1024w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-diff.png 1212w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.visophyte.org\/blog\/2009\/03\/20\/using-review-board-for-bugzilla-request-queues-reviews\/\">Last time I played with Review Board and bugzilla request queues<\/a> things were great for me, but no one else.\u00a0 I had to create an account for you on the instance, add you to my script that synchronizes request queues, run the script, and then keep running the script periodically.\u00a0 Not to mention there wasn&#8217;t really a way to get your review out and into bugzilla.\u00a0 No one actually tried to use it, so they probably also didn&#8217;t notice there were caching issues related to the ever-changing definition of &#8220;HEAD&#8221; (&#8220;tip&#8221;).\u00a0 It sucked, and when I upgraded and everything broke, no one cared, not even me.<\/p>\n<p>But now it&#8217;s back and better than ever:<\/p>\n<p><a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-bugzilla-queue-sync.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-337\" title=\"review-board-bugzilla-queue-sync\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-bugzilla-queue-sync-600x323.png\" alt=\"review-board-bugzilla-queue-sync\" width=\"600\" height=\"323\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-bugzilla-queue-sync-600x323.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-bugzilla-queue-sync-300x161.png 300w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-bugzilla-queue-sync-1024x551.png 1024w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-bugzilla-queue-sync.png 1199w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<ul>\n<li>People don&#8217;t need to login at all to see review requests and reviews!\u00a0 Just point them at the URL and away they go.\u00a0 (Actually, this was the case before, but it was not obvious.)<\/li>\n<li>You can\/must sign in with Open ID!\u00a0 If you have Weave and are reading this in the future, Weave can be your Open ID friend!\u00a0 If you are like me and live in the present (Weave 0.3.2), something is wrong and it doesn&#8217;t work, not to mention that Weave takes over the Open ID box so you can&#8217;t use credentials that work.<\/li>\n<li>There&#8217;s a button that updates your request queue for the 16 most recent requests made of you.\u00a0 Just make sure that you have entered your bugzilla e-mail address on the &#8220;my account&#8221; page.\u00a0 This may have happened automatically depending on what your Open ID provider provided\/you told them to provide.<\/li>\n<li>There&#8217;s export functionality so you can take your review and cram it in bugzilla.<\/li>\n<li>The definition of &#8220;tip&#8221; gets nailed down when the review request gets created, so no more ugly caching issues.\u00a0 Patches can still fail to apply, though, if &#8220;tip&#8221; has drifted from when the patch was first created.<\/li>\n<li>It has friendlier assumptions about what repo you are dealing with.\u00a0 Thunderbird\/MailNews Core\/Calendar\/SeaMonkey are all assumed to be in comm-central, everyone else is assumed to be in mozilla-central.\u00a0 Patches against other repos (including mozilla 1.9.1) clearly will not work without additional logic (and some kind of extra info, like people putting &#8220;1.9.1&#8221; in their attachment descriptions.)<\/li>\n<\/ul>\n<p>Here is a (fake) example of the &#8220;pretty&#8221; review output that is possible if you tell people about your reviewboard review (see it live <a href=\"http:\/\/reviews.visophyte.org\/r\/381294\/\">here<\/a>).\u00a0 Although it says <a href=\"http:\/\/blog.davidbienvenu.org\/\">Bienvenu<\/a>, it&#8217;s just me pretending to be him because his review queue is more interesting than mine.\u00a0 The comments are accordingly mine.<\/p>\n<p><a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-review-pretty.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-338\" title=\"review-board-review-pretty\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-review-pretty-600x405.png\" alt=\"review-board-review-pretty\" width=\"600\" height=\"405\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-review-pretty-600x405.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-review-pretty-300x202.png 300w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-review-pretty-1024x692.png 1024w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2009\/06\/review-board-review-pretty.png 1212w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Now, what does the export look like (see it live <a href=\"http:\/\/reviews.visophyte.org\/r\/bzexport\/2\/\">here<\/a>)?<\/p>\n<pre>on file: mailnews\/base\/src\/nsMessenger.cpp line 635\r\n&gt;     \/\/ if we have a mailbox:\/\/ url that points to an .eml file, we have to read\r\n&gt;     \/\/ the file size as well\r\n\r\nwhat a pretty comment\r\n\r\non file: mailnews\/base\/src\/nsMessenger.cpp line 642\r\n&gt;     NS_ENSURE_SUCCESS(rv, rv);\r\n\r\nplease rename rv ARRRRRR-VEEEEEE<\/pre>\n<p>Yeah, it looks like that.<\/p>\n<p>A quick feature summary that explains why this is better than just looking at diffs in bugzilla:<\/p>\n<ul>\n<li>Syntax highlighting!<\/li>\n<li>It actually has the full-context of the rest of the file!\u00a0 No more being limited to the 3 or 8 lines of context in the diff you are provided.\u00a0 I know I have done a lazy review and let a bug through that would not have happened if I had more context at my fingertips (or was not sometimes lazy).<\/li>\n<li>People just trimming down your patch to what they are commenting on leaves you with no context of what changed at all!<\/li>\n<\/ul>\n<p>Useful links:<\/p>\n<ul>\n<li>A <a href=\"http:\/\/reviews.visophyte.org\/r\/384008\/diff\/\">more interesting live diff<\/a> to check out.<\/li>\n<li>The <a href=\"http:\/\/reviews.visophyte.org\/\">root of the review board<\/a> that will prompt you to login via an Open ID account.\u00a0 When syncing your review queue, please keep in mind that it can take a bit to do all the legwork and you won&#8217;t see any feedback until it is actually done doing everything else.\u00a0 You should get some form of feedback no matter what happens, so don&#8217;t keep hitting refresh.<\/li>\n<li>The <a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/opc-reviewboard\/\">hg repo for my modified version of review-board<\/a>.\u00a0 It&#8217;s based on an extremely shallow hgsvn checkout.\u00a0 My questionable development strategy was to make changes with emacs locally, commit, then push to my VM, so the changesets are sometimes a bit excessive.<\/li>\n<\/ul>\n<p>Caveat usor:<\/p>\n<ul>\n<li>This is running on a linode VM right now.\u00a0 This is better than my local box or what not, but it&#8217;s not Mo[MC]o IT or anything.<\/li>\n<li>My changes, at least the export functionality, may be buggy.\u00a0 You may need to rely on me to fix the export functionality to get your stuff out that way.\u00a0 (If the hg diff doesn&#8217;t apply cleanly, you can&#8217;t enter data to lose it, so I&#8217;m less concerned about that.)<\/li>\n<li>I have no plans to blow away the database, but at the same time, please be prepared for the possibility that space ninjas destroy your data.\u00a0 Use the export functionality and save it to a text file or something periodically if you&#8217;re doing a major review.\u00a0 (In case it&#8217;s not obvious, the export functionality is the text labeled &#8220;bugzilla-style export&#8221; to the right of the reviewer&#8217;s name at the top-left of each review.)\u00a0 You can do your review in multiple passes, exporting each review pass individually.<\/li>\n<li>I am confident something will go wrong.\u00a0 Feel free to post comments here or ping me on IRC (:asuth).<\/li>\n<li>If people actually try using this, I&#8217;ll stop developing on the live server, but do be aware that apache restarts (lasting a few seconds) may periodically happen, but this should not really impact anything.<\/li>\n<\/ul>\n<p>Props:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.review-board.org\/\">Review Board<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Last time I played with Review Board and bugzilla request queues things were great for me, but no one else.\u00a0 I had to create an account for you on the instance, add you to my script that synchronizes request queues, &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2009\/06\/20\/review-board-and-bugzilla-reviews-take-2\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[3],"tags":[34,35,36],"class_list":["post-335","post","type-post","status-publish","format-standard","hentry","category-mozilla","tag-bugzilla","tag-review-board","tag-reviews"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/comments?post=335"}],"version-history":[{"count":4,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/335\/revisions"}],"predecessor-version":[{"id":342,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/335\/revisions\/342"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}