【问题标题】:How to create a patch for a directory in ClearCase?如何为 ClearCase 中的目录创建补丁?
【发布时间】:2016-04-10 06:13:24
【问题描述】:

我对如何为目录创建补丁做了一些研究。例如, How to create a patch for a whole directory to update it?

但第一步是要求您创建一个包含所有更改的单独目录。
但是,由于我在 ClearCase 下进行了更改,我觉得应该有更好的方法来做到这一点。另外,创建一个单独的新目录可能会占用大量存储空间。

有什么建议吗?

【问题讨论】:

    标签: diff clearcase patch


    【解决方案1】:

    如果您想从当前正在进行的工作(当前文件夹中检出的文件)制作补丁,您可以使用cleartool lsco(或cleartool ls)结合cleartool diff:

     cd /path/to/my/view/myfolder
     cleartool lsco -s -cview | xargs cleartool diff -pred -diff_format
    # for all files:
     cleartool ls -s -view-only | xargs cleartool diff -pred -diff_format
    

    -diff_format 选项导致以 UNIX 和 Linux diff 实用程序的样式报告标头和差异。

    您可以将输出重定向到一个文件以获取您的补丁。

    将-recurse 添加到cleartool ls 或cleartool lsco,以获取子文件夹中的文件。

    如果你知道你所在的分支,你可以用不同于“-pred”的版本做一个差异:

    | xargs -0 -i sh -c '`cleartool diff {} {}@@/main/yourBranch/0`'
    

    “xargs : using same argument in multiple commands”提出另一种语法:

    | xargs -n1 -I_afile -- sh -c '`cleartool diff _afile _afile@@/main/yourBranch/0`'
    

    【讨论】:

    • 签入文件怎么样?我需要先结帐才能使用您建议的命令吗?谢谢!
    • @Jerry 如果您对文件夹的所有文件感兴趣,请使用cleartool ls 而不是lsco。我已经相应地编辑了答案。
    • 我只对我所做更改的文件感兴趣。该命令是否还涵盖子目录下的文件?谢谢!
    • @Jerry 确实如此,如果您添加 -recurse 选项。
    • @Jerry 我已经编辑了答案(尽管使用 unix 语法,假设您不在 Windows 上)
    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    相关资源
    最近更新 更多