<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>TFS Migration Blog : ClearCase</title><link>http://blogs.msdn.com/tfs_migration/archive/tags/ClearCase/default.aspx</link><description>Tags: ClearCase</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Migrating ClearCase Branches to TFS</title><link>http://blogs.msdn.com/tfs_migration/archive/2007/09/13/migrating-clearcase-branches-to-tfs.aspx</link><pubDate>Thu, 13 Sep 2007 23:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4899977</guid><dc:creator>mmitrik</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/tfs_migration/comments/4899977.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tfs_migration/commentrss.aspx?PostID=4899977</wfw:commentRss><description>&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;After working with several customers on their migrations from ClearCase to TFS, it was evident that one of the big challenges of migrating between such vastly different version control systems was determining an appropriate branching structure.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This was the result of both the varied branching models of TFS and ClearCase, as well as the best practices encouraged and best adapted to each system.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Below are some high level explanations of the branching models of each system, how the aforementioned migration tool migrates branches, and recommendations on how to choose the correct set of branches to migrate from ClearCase to TFS.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;ClearCase Branching&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;ClearCase users are familiar with just-in-time branching in version space - that is, new versions of individual files and folders are created when the file is edited on a branch.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This means that only when a particular file is checked-out on a branch is it even created on the branch.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Until then it lives on the parent branch that is determined by the config spec.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The config spec also defines how the right versions of files are selected from branches, and which versions should be defaulted to if a file doesn't exist on a branch. &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;TFS Branching&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;In TFS, branches are created early, and branch in path space.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This means that as soon as a branch operation is checked-in, all of the items under the branched path now exist on that branch.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Files from the branch are edited and checked-in to the branch, and files that are never edited on a branch also reside on the branch.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since the contents of the branch are determined at creation time, there is no need for users to have config specs that pull together the correct items to form a usable/buildable branch.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-STYLE: italic; FONT-FAMILY: Calibri"&gt;(For details on TFS branches and branching strategies, visit the TFS Branching Guidance page on CodePlex: &lt;A href="http://www.codeplex.com/BranchingGuidance" mce_href="http://www.codeplex.com/BranchingGuidance"&gt;http://www.codeplex.com/BranchingGuidance&lt;/A&gt;)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Migrating Branches from ClearCase to TFS&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The disparity between ClearCase and TFS branching leads to some challenges when migrating branches.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Clearly, config specs are integral to determining the correct files to select for a branch in ClearCase.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For this reason, the TFS to ClearCase migration tool requires a config spec for each branch to be migrated.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Using this config spec, the tool is able to create TFS style branches out of the ClearCase branches.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What that means, is that files that never technically existed on a ClearCase branch will now exist on the TFS branch.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Although this strategy is not truly preserving the data as it existed in ClearCase, it is a necessary transformation to ensure the usefulness of branches in TFS.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, without all of the correct files on the branch in TFS, the files will no longer build.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Merging files back into parent branches is also impossible without all of the correct files in TFS, essentially defeating the reason to branch in the first place.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For these reasons, the tool takes the liberty of adding the files to the branch, as specified in the config spec.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;For more details on how the TFS to ClearCase migration tool migrates branches, see&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;the documentation that is installed with the tool.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Which branches should I migrate?&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;In some cases, ClearCase VOBs can contain a very large number of branches.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is often because many users will create many short lived branches used to fix bugs or add new features.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In TFS, the branching guidance is to keep a smaller number of branches, typically, Main, Dev, Production, and the feature branches off of Main (see the &lt;A href="http://www.codeplex.com/BranchingGuidance" mce_href="http://www.codeplex.com/BranchingGuidance"&gt;TFS Branching Guidance&lt;/A&gt; for details).&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;In order to keep the time to migrate files at a reasonable level, and to avoid a complex branching structure in TFS, the guidance for migrating branches is to migrate those ClearCase branches that are synonymous to Main, Dev, and Production.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It may also be desirable to migrate some specific feature, release, or bugfix branches, but the rule of thumb should be to minimize the number of branches migrated to TFS.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4899977" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tfs_migration/archive/tags/Migration+Tools/default.aspx">Migration Tools</category><category domain="http://blogs.msdn.com/tfs_migration/archive/tags/ClearCase/default.aspx">ClearCase</category></item><item><title>TFS Migration Tool for Rational ClearCase Released</title><link>http://blogs.msdn.com/tfs_migration/archive/2007/09/13/tfs-migration-tool-for-rational-clearcase-released.aspx</link><pubDate>Thu, 13 Sep 2007 23:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4899917</guid><dc:creator>mmitrik</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tfs_migration/comments/4899917.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tfs_migration/commentrss.aspx?PostID=4899917</wfw:commentRss><description>&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;At last,&amp;nbsp;the migration tool for Rational® ClearCase® is available for free download.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This tool provides the ability to migrate ClearCase data to TFS, and it also provides a service that will keep items in sync between TFS and ClearCase.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Together, these features will make the process of migrating from ClearCase to TFS much simpler, and far more automated.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The tool and documentation (installed with the tool) can be downloaded from the new &lt;A class="" href="http://msdn2.microsoft.com/en-us/teamsystem/bb840033.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/bb840033.aspx"&gt;Team Foundation Server Migration and Integration Solutions&lt;/A&gt; page.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;A quick summary of the features of the tool:&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'"&gt;Supports migration of base ClearCase VOBs&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'"&gt;Migrate a snapshot of source control to TFS&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'"&gt;Migrate files to Team Foundation Server while preserving history&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'"&gt;Migrate branches to Team Foundation Server retaining the branching structure/hierarchy&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'"&gt;Bidirectional synchronization of data between TFS and ClearCase&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'"&gt;&amp;nbsp;For help with this tool please use&amp;nbsp;the &lt;A class="" title="Team Foundation Server - Version Control" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=478&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=478&amp;amp;SiteID=1"&gt;Team Foundation Server - Version Control&lt;/A&gt; forum on MSDN.&amp;nbsp; Be sure to indicate the question is&amp;nbsp;specific to the migration tool in the title of the post so we can identify questions more quickly.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4899917" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tfs_migration/archive/tags/Migration+Tools/default.aspx">Migration Tools</category><category domain="http://blogs.msdn.com/tfs_migration/archive/tags/Synchronization/default.aspx">Synchronization</category><category domain="http://blogs.msdn.com/tfs_migration/archive/tags/ClearCase/default.aspx">ClearCase</category></item></channel></rss>