{"id":598,"date":"2009-12-18T13:46:04","date_gmt":"2009-12-18T13:46:04","guid":{"rendered":"http:\/\/salientsoft.co.uk\/?p=598"},"modified":"2011-11-17T12:26:53","modified_gmt":"2011-11-17T12:26:53","slug":"branching-and-merging-in-eclipse-cvs-and-tortoisecvs","status":"publish","type":"post","link":"https:\/\/salientsoft.co.uk\/?p=598","title":{"rendered":"Branching and Merging in Eclipse CVS and TortoiseCVS"},"content":{"rendered":"<p>Branching allows version histories of a CVS\u00a0module to proceed in parallel, by branching from an earlier version in the repository. This typically arises when a new release is under development in the repository (or has been released) and bug fix changes are needed to an older version without affecting the new release.\u00a0A branch would be made at the older version and the bug fixes placed on the branch. A client (Eclipse or TortoiseCVS) can pick the branch to work with, and the local files are updated to reflect that branch.<\/p>\n<ol>\n<li>To <strong>create<\/strong> a branch in Eclipse, select <strong>Team\/Branch&#8230;<\/strong> from the context menu for the project<\/li>\n<li>To <strong>create<\/strong> a branch in TortoiseCVS, select <strong>CVS\/Branch&#8230;<\/strong> from the context menu.<\/li>\n<li>To <strong>select<\/strong> a branch in TortoiseCVS, you do an <strong>Update Special<\/strong> and pick the branch to switch to.<\/li>\n<li>To <strong>select<\/strong> a branch in Eclipse, you do <strong>Team\/Switch to another branch or version<\/strong><\/li>\n<\/ol>\n<p>When Branching, you should normally branch a complete module not just a file. If you just branch a file in eclipse, Eclipse gives you a warning that you are mixing tags within a project. Tortoise does not give you a similar warning however.\u00a0See <strong><a title=\" http:\/\/cvsbook.red-bean.com\/cvsbook.html#Branching%20Basics\" href=\"http:\/\/cvsbook.red-bean.com\/cvsbook.html#Branching%20Basics\">here<\/a><\/strong> for the internals of branching in CVS. It\u00a0seems that whilst internally it is done per file due to historical coding reasons, it should ideally be \u2018grouped\u2019 as CVS does group files.<\/p>\n<p>If you branch by mistake, you cannot delete it \u2013 just leave it unused in the repository.<\/p>\n<p>You can\u00a0merge changes back into a branch\u00a0from another branch with both these clients. In both cases, you should have the target branch (which will often be the head) as the current loaded one. You then pick the branch to be\u00a0merged\u00a0into it.<\/p>\n<ol>\n<li>To <strong>merge<\/strong> a branch into the current branch in Eclipse, use <strong>Team\/Merge<\/strong><\/li>\n<li>To <strong>merge<\/strong> a branch into the current branch in TortoiseCVS, use <strong>CVS\/Merge<\/strong><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Branching allows version histories of a CVS\u00a0module to proceed in parallel, by branching from an earlier version in the repository. This typically arises when a new release is under development in the repository (or has been released) and bug fix changes are needed to an older version without affecting the new release.\u00a0A branch would be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[67],"tags":[187,9,69,15],"_links":{"self":[{"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/598"}],"collection":[{"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=598"}],"version-history":[{"count":5,"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/598\/revisions"}],"predecessor-version":[{"id":607,"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/598\/revisions\/607"}],"wp:attachment":[{"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/salientsoft.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}