14

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

4

3 回答 3

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
于 2008-10-10T15:47:34.297 回答
8

我对 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
于 2012-03-22T17:17:04.303 回答
7

cleartool ls -view_only -r从您的本地视图 VO​​B 目录中使用。

要递归地将任何文件添加到仅在本地视图中的源代码管理,请参阅如何使用 ClearCase 递归地“添加到源代码管理......”?.

于 2008-10-10T15:25:28.490 回答