【问题标题】:Recursive checkin using Clearcase使用 Clearcase 递归签入
【发布时间】:2010-11-01 17:13:03
【问题描述】:

我想将一个目录和所有子目录签入到 clear case 中。 是否有特定的命令来实现它? 目前我正在进入每个目录并手动签入每个文件。

【问题讨论】:

    标签: clearcase


    【解决方案1】:

    我会推荐this question

    现在的问题是检查所有已更改的内容。
    这是有问题的,因为通常并非所有内容都已更改,并且 ClearCase 在尝试签入相同文件时会触发错误消息。这意味着您将需要 2 个命令:

    ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
    ct lsco -r -cvi -fmt "unco -rm %n\n" | ct
    

    (其中 'ct 是 'cleartool' :在 Windows 上键入 'doskey ct=cleartool $*' 以设置该别名)


    但如果你所说的“签到”是指:

    • “第一次进入源码管理”
    • “更新大量可能已在现有版本控制目录上更改的文件”

    我建议创建一个动态视图并在动态视图中 clearfsimport 快照树(包含新文件)。

    this questionthis question

    clearfsimport 脚本更适合于多次导入同一组文件,并且是自动的:

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

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

    【讨论】:

    • 我一直在谷歌上搜索这个答案,每次我忘记更改转义字符。在 Linux 中,命令是 [ct lsco -r -cvi -fmt "ci -nc "%n"\n" | ct] 和 [ct lsco -r -cvi -fmt "unco -rm "%n"\n" | ct]
    • @JordanBentley 你确定你不能在双引号内转义双引号吗?我会理解 ciunco 命令是否在单引号内(在这种情况下,shell 不会立即解释双引号)
    • 啊,我应该提到我使用的是 c-shell,它以不同的方式处理双引号。
    【解决方案2】:

    您是否在 clearfsimport 命令中使用了 -recurse 选项。 示例:clearfsimport -recurse source_dir .

    这应该会有所帮助。 如果您使用的是 Windows 客户端,右键单击父文件夹,选择搜索,将文件名字段留空,单击搜索,选择结果窗口中的所有文件 (ctrl-A),右键单击它们并选择 ClearCase -> 添加到源代码管理

    【讨论】:

      【解决方案3】:

      如果你在windows中你可以试试,

      for /f "usebackq" %i in (`cleartool lsco -cview -me -r -s`) do cleartool ci -nc %i
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 2013-05-14
        • 1970-01-01
        • 2013-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多