{"id":1896,"date":"2009-03-31T17:23:48","date_gmt":"2009-03-31T21:23:48","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=1896"},"modified":"2009-03-31T17:28:43","modified_gmt":"2009-03-31T21:28:43","slug":"changes-15","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2009\/03\/31\/changes-15\/","title":{"rendered":"Changes 1.5"},"content":{"rendered":"<p><a href=\"http:\/\/changesapp.com\">Changes 1.5<\/a> is much more useful than previous versions thanks to a new &ldquo;SCM HUD&rdquo; window that lets you, from your editor, select two revisions of the current file to compare. It currently works with Git and Subversion.<\/p>\n<p>Overall, I prefer the Find Differences feature in <a href=\"http:\/\/www.barebones.com\/products\/bbedit\/\">BBEdit<\/a> (and <a href=\"http:\/\/www.barebones.com\/products\/TextWrangler\/\">TextWrangler<\/a>) for processing differences one at a time, and I prefer viewing <tt>git diff<\/tt> patches color-coded in <a href=\"http:\/\/macromates.com\/\">TextMate<\/a> to get the big picture of what&rsquo;s changed. Changes seems suited to an in-between case, where you want to see what&rsquo;s changed and also make a few edits. All these tools are better than FileMerge, of course.<\/p>\n<p>I found the default color scheme confusing, as I&rsquo;m used to red meaning <em>deleted<\/em>, not <em>changed<\/em>. A gray background with blue text seemed to work better.<\/p>\n<p>Likes:<\/p>\n<ul>\n<li>The option to show only the lines that are <em>different<\/em> is very useful, as it eliminates needless scrolling.<\/li>\n<li>The SCM HUD is easily invoked <a href=\"http:\/\/wiki.changesapp.com\/index.php\/Scripting_Support\">via AppleScript<\/a>, so although it doesn&rsquo;t integrate with Xcode out of the box, it was easy to write an integration script, which I hooked up via <a href=\"http:\/\/www.red-sweater.com\/fastscripts\/\">FastScripts<\/a>.<\/li>\n<li>It&rsquo;s extensible to other version control systems by writing short <a href=\"http:\/\/wiki.changesapp.com\/index.php\/SCM_Adapter_Scripts\">adapter scripts<\/a>. This is a great use of PyObjC.<\/li>\n<\/ul>\n<p>Dislikes:<\/p>\n<ul>\n<li>The SCM HUD does not track files that were renamed, even though Git can do this.<\/li>\n<li>The SCM HUD&rsquo;s display is cluttered with all the fields on one line, separated by spaces. It would be nice if it used columns instead.<\/li>\n<li>There&rsquo;s no support for syntax coloring, so files aren&rsquo;t as easy to read as in your editor.<\/li>\n<li>There&rsquo;s no way to change the background color of the text.<\/li>\n<li>There&rsquo;s no soft-wrapping for long lines.<\/li>\n<li>The AppleScript support is limited. You cannot access the list of windows or see which files are being compared. (I wanted to be able to send the files to BBEdit.)<\/li>\n<li>I rarely complain about software prices, and I&rsquo;m all for supporting good Mac developers, but the $50 price seems out of line for the current feature set.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Changes 1.5 is much more useful than previous versions thanks to a new &ldquo;SCM HUD&rdquo; window that lets you, from your editor, select two revisions of the current file to compare. It currently works with Git and Subversion. Overall, I prefer the Find Differences feature in BBEdit (and TextWrangler) for processing differences one at a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1896","post","type-post","status-publish","format-standard","hentry","category-programming-category"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/1896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=1896"}],"version-history":[{"count":0,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/1896\/revisions"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=1896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=1896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=1896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}