我做了一些关于如何为目录创建补丁的研究。例如, How to create a patch for a whole directory to update it?
但第一步是要求您创建一个包含所有更改的单独目录 但是,由于我在ClearCase下进行了更改,我觉得应该有更好的做法。另外,创建一个单独的新目录可以占用大量的存储空间。
有什么建议吗?
答案 0 :(得分:1)
如果要从当前正在进行的工作(当前文件夹中签出的文件)制作补丁,可以将cleartool lsco
(或cleartool ls
)与{{3}结合使用}:
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和Linuxdiff
实用程序的样式报告。
您可以将输出重定向到文件以获取补丁。
将-recurse
添加到cleartool ls
或cleartool lsco
,以获取子文件夹中的文件。
如果你知道你所在的分支,你可以使用与“-pred”不同的版本进行差异化:
| xargs -0 -i sh -c '`cleartool diff {} {}@@/main/yourBranch/0`'
“cleartool diff
”提出了另一种语法:
| xargs -n1 -I_afile -- sh -c '`cleartool diff _afile _afile@@/main/yourBranch/0`'