如何确定我的ClearCase本地视图中的哪些文件尚未添加到源代码管理中?

时间:2008-10-10 15:25:21

标签: version-control clearcase

如果我在本地ClearCase视图中添加/删除/修改了大量文件,我如何确定所有文件都已添加到源代码管理中?

3 个答案:

答案 0 :(得分:8)

对于 快照 视图(您称之为“本地视图”?),您的答案是正确的。 在动态视图中,一个简单的

cleartool lsprivate

就足够了。

但这会遗漏被劫持的文件(已经添加到源代码管理中,但可能在没有ClearCase知道的情况下进行了修改)

所以我建议用(对于Windows)完成命令:

for /F "usebackq delims= " %i in (`cleartool ls -r -nxn ^| find "hijacked"`) do @echo %i

对于Unix:

cleartool ls -r -nxn | grep hijacked

这也会将文件保留在结帐中(已授予,它们也会添加到源代码管理中,但也应列出,因为它们必须最终提交或取消)。
在快照视图中:

cleartool lscheckout -recur

在动态视图中:

cleartool lsprivate –co

答案 1 :(得分:7)

我对windows使用了类似的dos命令,但是我也将clear工具命令的结果传递给findstr为'忽略'特定模式(使用正则表达式),例如.keep文件,dll,以及我不想添加到源代码的已编译文件和文件夹位置。

从视图的根文件夹运行以下命令。如果您有多个顶级文件夹,那么您需要为每个文件夹运行一次。另外,我认为这仅适用于 SnapShot 视图。

cleartool ls -recurse -view_only | findstr /vi ".dll$ .pdb$ .suo$ .keep$ .unloaded$ \\bin$ \\bin\\ \\debug$ \\debug\\ \\release$ \\release\\ \\obj$ \\obj\\ ^cleartool$" > c:\ItemsNotInSource.txt

答案 2 :(得分:5)

使用本地视图VOB目录中的cleartool ls -view_only -r

要以递归方式向源控件添加任何仅在本地视图中的文件,请参阅How can I use ClearCase to “add to source control …” recursively?