我的客户正在从Source Safe迁移到Clearcase。他们需要列出Source Safe数据库中的所有链接文件,以便链接可以转移到Clearcase,因为显然所有来源必须在第1天检入Clearcase,丢失任何现有链接。
是否有任何工具可用于创建此报告,或者甚至可以完全导入clearcase?
我的计划是编写一个powershell脚本来使用COM来恢复源安全的SS文件夹,结果链接。
感谢。
答案 0 :(得分:2)
正如我在this question中提到的,clearexport_ssafe应该用于从Source Safe导入到ClearCase。
然而,documentation for that tool explicitly mentions:
股份。 Rational ClearCase中没有与Visual SourceSafe共享等效的功能。 clearexport_ssafe在转换期间不会将共享保留为硬链接。相反,股票成为独立的元素
因此,您的脚本需要列出所有链接,并在其初始目录和新创建的单独元素之间创建软链接。
但我相信你可能想要考虑目标ClearCase存储库的另一个组织,其中所有共享文件不再直接使用,如illustrated by this answer(对于此实例中的SVN存储库):
我们已经删除了所有链接文件。之前链接的所有类文件都已放入类库中,这些类作为解决方案中的共享项目引用共享给我们的其他项目。所以从本质上讲,你共享库,而不是类文件。
有一些调整过程习惯了这个,但从那以后我没有错过链接。通过让您的代码设置为这样,它确实可以促进更好的设计实践。
我work mainly with UCM,所有这些“分享”都是 UCM组件的自然候选者,UCM基线可以引用他们的不同版本,然后您可以自己制作“配置” (标签列表),以便选择您需要的不同组件,使它们可以跨项目轻松重复使用。
答案 1 :(得分:2)
正如VonC所提到的,从VSS到ClearCase的导入确实非常恶劣:
我自己在ClearCase UCM工作,我们做出了与你相同的决定(在我10年的CM经验中,总是最好的决定):留下历史以供参考,最多导入几个一个在另一个之上的版本,手动(如开发中的当前;测试中的当前;实时的当前)。
我们解决股票问题的方式如下:
与源树隔离的“份额”,与其他来源无关地进口
从头开始导入(没有历史记录且没有共享)的其他来源。假设在一个名为MAIN_SRC
从头开始导入(没有历史记录)的共享。假设在一个名为SHARE_SRC
创建了一个包含两个组件的项目:MAIN___SRC和SHARE_SRC。
现在,问题没有解决,因为当您的IDE(例如Visual Studio)完全期望它们位于以前的相同文件夹中时,您的共享搁置主要源代码(即在Visual中,如果你不解决这个问题你的所有项目都会出错,所有文件都需要从Visual本身等内部重新链接......很多工作。)
使用ClearCase VOB符号链接:
解决了这个问题让我们在MAIN___SRC中说你需要在SHARE_SRC中使用一个名为myShared文件的文件。
在需要使用myShared文件的文件夹中,使用命令行界面并运行:
cleartool ln -s ..\..\SHARE_SRC\(myPath)\mySharedFile .
您需要尽可能多的.. \ ..以便在ClearCase中进入组件文件夹级别,然后按照SHARE_SRC组件文件夹中的路径(myPath)进行操作。
请记住,ClearCase路径由以下内容组成:
M:\View_name\VOB_name\Component_name\Your first level of files and folders
(VOB_name \ Component_name是组件的“根”,除非您有单个组件VOB,在这种情况下,VOB_name \ Component_name只变为VOB_name)
最简单的方法是对需要创建的所有VOB符号链接进行映射,并将所有必需的“cleartool ln -s”命令行放在脚本中运行一次。
在那之后,你应该没问题,你的IDE认为来源就像过去一样。
干杯,
托马斯