1

我有一位非常坚持使用 Clearcase 的客户。是否有任何工具/脚本可以让我的团队导入 SVN 项目?我的团队项目实际上将在 SVN 中......。如何将 SVN 项目导入 Clearcase?

谢谢

4

1 回答 1

1

技术说明确实提到:

ClearCase 不提供从 Subversion 导入以维护版本历史的工具。

如果您对维护版本历史不感兴趣,只想从最新版本或预选配置开始,您可以使用 clearfsimport 命令。clearfsimport查看有关( cleartool man clearfsimport)主题的 ClearCase 命令参考指南以获取更多信息。

如果您需要版本历史记录,您可能需要评估开源工具svn2cc

该项目可能已过时,但在此线程中有详细说明:

该实用程序以一种两种方式完成

  • 第一个是创建一系列需要在实用程序运行后执行的批处理文件。批处理文件在执行时会将源文件插入 CC。
  • 第二种是直接将记录从实用程序插入 CC。您可以选择最适合您项目的选项。

SVN 转储文件包含您需要的所有数据。这包括源文件及其相关的元数据(历史、作者等)。您的 SVN 管理员将能够为您生成转储文件。


这个GitHub 脚本说明了“简单”的方法(clearfsimport),允许您导入您提到的连续 svn 修订版:

@echo off

SET CC_VOB_DIR=
SET CC_VIEW_TAG=
SET CC_COMPONENT_NAME=
SET CC_VOB_NAME=
SET TMP_SVN_EXPORT_DIR=
SET SVN_URL=

@echo deleting directory %TMP_SVN_EXPORT_DIR%

rd /S /Q %TMP_SVN_EXPORT_DIR%
svn export %SVN_URL% %TMP_SVN_EXPORT_DIR% --force
clearfsimport -nsetevent -recurse -rmname %TMP_SVN_EXPORT_DIR% %CC_VOB_DIR%

IF %1==-b (
cleartool mkbl -view %CC_VIEW_TAG% -full -component %CC_COMPONENT_NAME%@\%CC_VOB_NAME% %CC_COMPONENT_NAME%
)

这类似于此线程答案

我这样做的方法是提出一个代表里程碑构建或发布的 svn 标签列表,然后导入那些最旧到最新的,建立版本历史,有时甚至在这个过程中建立几个分支。
根据您的 cvs 或 svn 或 .... 存储库的“结构化”方式,导入所有内容通常会导致非常糟糕的版本树。我只有一个案例,他们非常关注 cvs 分支,其中导出/导入工作毫不费力,结果是您可以并且想要在 CC 中使用。

因此,花一些时间分析您的 svn 存储库以及它将如何转换为 CC 分支并识别标签并创建 CC 配置规范和 clearfsimport 最旧到最新。

于 2013-05-21T14:11:14.127 回答