【问题标题】:How can I use ClearCase to "add to source control ..." recursively?我如何使用 ClearCase 递归地“添加到源代码控制......”?
【发布时间】:2010-09-13 09:24:05
【问题描述】:

我将一个 zip 文件解压到一个透明的视图中。现在我想将完整的文件树添加到存储库中。 GUI 只为单个文件/目录提供“添加到源代码控制...”。你知道如何递归地添加整棵树吗?

(我在 Windows 系统上,但安装了 Cygwin。)

【问题讨论】:

    标签: version-control clearcase


    【解决方案1】:

    我宁愿使用 clearfsimport 脚本,更好地导入多次相同的文件集,并且自动:

    • 添加新文件,
    • 制作先前导入的现有文件的新版本(但在重新导入的源文件集中进行了修改)
    • 删除已导入但不再存在于源文件集中的文件。
    • 清晰记录导入过程中的所有操作。

    因此,如果您的 'zip 文件交付需要定期更新,clearfsimport 是不错的选择,但有以下选项:

    clearfsimport -preview -rec -nset c:\sourceDir\* m:\MyView\MyVob\MyDestinationDirectory
    

    注意:

    • -preview 选项:它将允许检查会发生什么,而无需实际执行任何操作。
    • '*'只在Windows环境下使用,为了导入目录的内容
    • -nset 选项。

    来自CMWiki,关于“nset”选项:

    默认情况下,clearfsimport 旨在供 vob 所有者或特权用户使用,但用户经常忽略 -nsetevent 选项,任何用户都可以使用该选项。
    此选项驱动 clearfsimport 不将元素的时间戳设置为 vob 之外的源文件对象的时间戳(需要特权访问)。
    这样做有一个不明显的副作用:一旦创建了具有当前时间戳的版本,即使是 vob 所有者也无法在其上导入具有较旧版本的版本(因为它会) 时间戳,没有这个 -nsetevent 选项。 IE。一旦您使用此选项,普通用户或特权用户,您或多或少都会继续使用它。

    【讨论】:

    • 确实,这将是正常的用例。这种方法的一个缺点是您无法提取到目标目录中。但我想我可以使用固定的“导入”目录。
    • 这将是进行这种导入的方式,(即从单独的“源”目录),因为预览功能(它可以让您从您的 zip 中检测一些您可能实际上不想导入!)
    • 我遇到的问题是它通过附加“.keep”重命名了我的原始文件夹(已经是私有文件夹),所以所有操作都失败了,因为源文件夹名称已更改。
    • @Pat - 我遇到了同样的问题。这是我发现并且对我有用的内容: clearfsimport 不允许源目录和目标目录相同。如果它们相同,它将创建一个 .keep 目录。然后,您可以使用 .keep 目录作为源重新运行 clearfsimport 脚本(然后您可以在完成后删除 .keep 目录)。
    • @VonC- 我的 Clearcase 服务器太慢了。我无法一次性添加所有文件,因此我手动选择了文件夹并搜索所有文件并添加到源代码管理。就像我有 47 个文件夹一样,如果我执行命令,手动添加后会有任何问题..?
    【解决方案2】:

    这是我使用 Windows 资源管理器发现的另一种方法:

    1. 从目标目录的上下文菜单中选择Search...。
    2. 搜索*。
    3. 选择结果列表中的所有 (Ctrl-A) 文件/目录。
    4. 从结果列表中某个项目的上下文菜单中选择ClearCase > Add to source control...。

    你去...

    【讨论】:

    • 这对我有用,但我确实收到了一些弹出错误,说该项目已经在源代码管理中,大概是由于它执行操作的顺序?添加选项后,我确实选择了结帐。似乎一切正常,只需在错误弹出窗口上单击确定
    • 请注意,这不适用于 x64:www-01.ibm.com/support/docview.wss?uid=swg21251833
    • @Markus,我没有看到搜索 * 选项 ClearCase Remote Client 7.1.2,这个版本是特定的吗?
    • @hawkeye 当我们使用 '*; 进行搜索时它还以递归方式显示子文件夹中的所有文件,因此有助于递归地添加到 clearcase。
    • 我认为它确实有效,但如果遇到已经在 clearcase 中的文件,您很容易意外地取消整个过程。它非常乏味且容易出错,但是 Clearcase 的一切都是......
    【解决方案3】:

    由于我无法访问 clearfsimport ,因此我分两步添加了文件/目录:

    1.) find . ! -path . -type d | xargs cleartool mkelem -mkpath -nc

    这将为所有新目录递归创建节点

    2.) find ./ -type f | xargs cleartool mkelem -nc

    这将递归地为所有新文件创建节点

    【讨论】:

    • 这对我有用。大约 1944 个文件添加到源代码管理中
    • 对我也很好(在 cygwin 上)。实际上,只需将 2) 与 -mkpath 一起使用就足够了——目录是即时添加的。 (也许效率较低——恐怕目录中的每个文件都会被签出)。
    • Xargs 不是 Windows 的默认命令。您应该向读者说明清楚。
    【解决方案4】:

    当您选择“添加到源代码管理”时,ClearTeam Explorer 版本 8(可能更早)具有递归添加子目录/文件的功能。当“添加到源代码管理”对话框出现时,选中“包括所选目录的后代工件”复选框并取消选中“仅检出后代文件,不检出后代目录”复选框。

    【讨论】:

    • 四年前这个问题被接受的答案是相当彻底的。如果您正在寻找未回答的问题,可以在这里查看:stackoverflow.com/unanswered
    • @valverij 除了他提供了新信息,所以在这里添加他的答案很有价值
    【解决方案5】:

    您必须使用命令行。 Explorer 中的上下文菜单不会递归执行此操作!

    clearfsimport –recurse /usr/src/projectx /vobs/projectx/src
    

    【讨论】:

      【解决方案6】:

      这是执行此操作的脚本 以及从 Explorer 集成脚本的提示

      http://www.ibm.com/developerworks/rational/library/4687.html

      【讨论】:

        【解决方案7】:

        有类似的要求以递归方式将目录添加到 ClearCase。由于我无法访问 clearfsimport 工具,也没有将 ClearCase 与 Windows 资源管理器集成,因此在 ClearCase GUI 中找到了一个简单的解决方案。

        1) 使用“添加到源代码管理”菜单选项添加根目录。 2) 点击该目录,然后使用“ClearCase Search”搜索该目录下的所有Private Files。 3)从搜索结果和“添加到源代码管理”中选择所有

        你去吧!整个目录是从 ClearCase GUI 中递归添加的

        【讨论】:

          【解决方案8】:

          【讨论】:

          • 有趣的技术说明,适用于 CC7.0 及更低版本。 +1
          【解决方案9】:

          您还可以使用小脚本将此命令添加到上下文菜单中...

          Ten best Triggers

          编辑:哦,对不起。没看到已经有人建议了...

          【讨论】:

            【解决方案10】:

            我同意, 如果要进行版本控制的文件数量很大,则 Windows 资源管理器中的 find+select+add-to-source-control 不是一个好的选择。如上所述,如果我们尝试添加大量文件,explorer.exe 会崩溃。

            clearfsimport 是完成这项任务的最佳且最省心的实用程序。

            -GP

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-11-02
              • 1970-01-01
              • 2022-07-12
              • 2020-01-28
              • 1970-01-01
              相关资源
              最近更新 更多