{"id":423,"date":"2010-01-26T17:53:00","date_gmt":"2010-01-26T23:53:00","guid":{"rendered":"http:\/\/www.ourada.org\/blog\/?p=423"},"modified":"2010-01-26T17:53:00","modified_gmt":"2010-01-26T23:53:00","slug":"branching-is-hard","status":"publish","type":"post","link":"https:\/\/www.ourada.org\/blog\/archives\/423","title":{"rendered":"Branching is hard"},"content":{"rendered":"<p>Ya know, for all the conceptual elegance of the idea of branching\/merging in software revision control, it sure can be a pain in practice. Just in the last while, I&#8217;ve run across the following situations:<\/p>\n<ul>\n<li>someone mismerged my code because they merged based on files rather than revisions<\/li>\n<li>had to decide whether to merge someone else&#8217;s code because mine was dependent on it, but they hadn&#8217;t merged theirs<\/li>\n<li>had to decide when to merge my code, which was part of a larger feature and was not a complete feature in itself: do it now and possibly introduce instability, do it later and possibly have it get delayed in the shuffle<\/li>\n<li>stuff I&#8217;d merged disappeared because the branch was remade after I merged<\/li>\n<li>conflict while merging my code because the branch was based on a way older revision than I was informed (so other changes I&#8217;d made previously were not there to merge against)<\/li>\n<li>not knowing whether my changes were to be merged because it wasn&#8217;t decided when the feature was to be released<\/li>\n<li>a special case of the previous situation, when it was first decided the feature was for later, then it was moved earlier<\/li>\n<li>work for a future feature ended up causing a conflict when trying to merge a current feature because the two changes were made in the other order on the same code<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ya know, for all the conceptual elegance of the idea of branching\/merging in software revision control, it sure can be a pain in practice. Just in the last while, I&#8217;ve run across the following situations: someone mismerged my code because they merged based on files rather than revisions had to decide whether to merge someone [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-423","post","type-post","status-publish","format-standard","hentry","category-general","author-admin"],"_links":{"self":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/comments?post=423"}],"version-history":[{"count":0,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/423\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/media?parent=423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/categories?post=423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/tags?post=423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}