{"id":447,"date":"2010-03-09T04:33:18","date_gmt":"2010-03-09T12:33:18","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/?p=447"},"modified":"2010-03-09T04:34:45","modified_gmt":"2010-03-09T12:34:45","slug":"emacs-compilation-mode-support-for-reviewboard","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2010\/03\/09\/emacs-compilation-mode-support-for-reviewboard\/","title":{"rendered":"emacs compilation-mode support for reviewboard"},"content":{"rendered":"<p><a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-review.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-448\" title=\"the-review\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-review-600x219.png\" alt=\"\" width=\"600\" height=\"219\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-review-600x219.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-review-300x109.png 300w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-review-1024x374.png 1024w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-review.png 1132w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Let&#8217;s say you&#8217;ve suckered someone into <a href=\"http:\/\/reviews.visophyte.org\/r\/430009\/\">performing their review<\/a> in my <a href=\"http:\/\/www.reviewboard.org\/\">review board<\/a> install (<a href=\"http:\/\/www.visophyte.org\/blog\/tag\/review-board\/\">more info<\/a>).\u00a0 It looks pretty, no?\u00a0 As <a href=\"http:\/\/www.imdb.com\/title\/tt0763026\/quotes?qt0298485\">the Amish say<\/a>: &#8216;Tis a fine web page, but sure &#8217;tis no emacs buffer, English.<\/p>\n<p><a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-emacs-buffers.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-449\" title=\"the-emacs-buffers\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-emacs-buffers-600x183.png\" alt=\"\" width=\"600\" height=\"183\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-emacs-buffers-600x183.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-emacs-buffers-300x91.png 300w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-emacs-buffers-1024x312.png 1024w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/the-emacs-buffers.png 1190w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Get your <a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/reviewboard-emacs\/raw-file\/tip\/reviewboard-viewer.el\">reviewboard-viewer.el<\/a> here (<a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/reviewboard-emacs\/\">repo here<\/a>).\u00a0 It basically just wgets the review with paths in a format the GNU regex will recognize and tells the temporary file to be a compilation-mode buffer with a little help in setting up the file search path.\u00a0 There are instructions in the file, but the key non-intuitive things that are going to trip you up:<\/p>\n<ul>\n<li>You really want to invoke <em>reviewboard-viewer-view-review<\/em> from a dired buffer showing the root directory of what the patch is against.\u00a0 This lets us set up the search path to be exactly correct with no heuristics.<\/li>\n<li>The argument the above wants is the id that you will see in the &#8220;bugzilla-style export&#8221; link on the review page.\u00a0 For example, I had to type the number 72 above.<\/li>\n<\/ul>\n<p>Other notes to people who are interested\/care:<\/p>\n<ul>\n<li>There was a dumb bug in the bugzilla export code involving caching.\u00a0 Previous bugzilla exports likely only showed the selected hunk for the first comment on the file.\u00a0 I fixed this.<\/li>\n<li>OpenID snafus:\n<ul>\n<li>Weave OpenID support via the <a href=\"https:\/\/wiki.mozilla.org\/Labs\/Weave\/Identity\/Account_Manager\">Accout Manager<\/a> doesn&#8217;t work.\u00a0 (Account Manager is where it got refactored to after it got dropped from Weave core).\u00a0 I feel like it worked recently with 0.0.2, but just now when I tried (with 0.0.2) it pretended it was going to work and then failed to do so.\u00a0 When I upgraded to 0.0.10 it decided to not even do that.\u00a0 This is sad because Weave was the whole reason I went with OpenID; I wanted to make it easier than creating another throwaway account for people.<\/li>\n<li>I hear that whatever Google OpenID-ish thing exists, it apparently does not work either.\u00a0 This was not surprising since it was my understanding Google made their implementation correct but not interoperable without some extra work.<\/li>\n<li><a href=\"https:\/\/pip.verisignlabs.com\/\">Verisign&#8217;s freebie OpenID thing<\/a> does work!<\/li>\n<li>If someone knows of a django auth-compatible OpenID\/OAuth\/whatever implementation that will at least fix the Google situation and requires practically no work on my part, I would be happy to change to using that.\u00a0 Right now I am using django-openid-auth which is old but works.\u00a0 My <a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/opc-reviewboard\/\">reviewboard repo<\/a> is here if you are feeling especially generous about fixing things.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s say you&#8217;ve suckered someone into performing their review in my review board install (more info).\u00a0 It looks pretty, no?\u00a0 As the Amish say: &#8216;Tis a fine web page, but sure &#8217;tis no emacs buffer, English. Get your reviewboard-viewer.el here &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2010\/03\/09\/emacs-compilation-mode-support-for-reviewboard\/\">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":[1],"tags":[79,35],"class_list":["post-447","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-emacs","tag-review-board"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/447","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=447"}],"version-history":[{"count":5,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/447\/revisions"}],"predecessor-version":[{"id":453,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/447\/revisions\/453"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}