3

是否有任何要删除仅在 CC 动态视图中查看私人文件的方法。在我看来,有一堆黯然失色的文件和查看私有文件。我只需要删除查看私有文件并保留已签出和已消失的文件。

我试过以下 -

cleartool ls -r | grep -v eclipsed | grep -v checkedout | xargs rm -v

但看起来黯淡的文件以cleartool ls. 所以它也删除了黯淡的文件:(

eclipsedcleartool ls -r 为动态视图中的文件生成两个输出。

src.mk
src.mk@@ [eclipsed]

所以删除cleartool ls -rec | grep -v "Rule:" | grep -v "eclipsed" | grep -v "-->" | xargs rm -v也删除了黯淡的文件。

4

1 回答 1

3

你是对的,这两个解决方案都不起作用:

 cleartool ls -rec | grep -v "Rule:" | grep -v "eclipsed" | grep -v "-->"  | xargs rm -v

    cleartool lsprivate | grep -v "黯然失色" | xargs rm -v

资料来源:我在“命令以递归方式查找当前目录中的所有查看私有文件”的旧答案。

像任何其他私有文件一样单独列出黯淡的lsprivate文件:

M:\yourDynView\yourVob\aDir\>ct lsprivate

M:\yourDynView\yourVob\aDir\aFile.vsd
M:\yourDynView\yourVob\aDir\aPrivateFile

但是,一个lsprivate -l列表两次使文件黯然失色:

M:\yourDynView\YourVob>ct lsprivate -long

view private object    M:\yourDynView\yourVob\aDir\aFile.vsd
file element           M:\yourDynView\yourVob\aDir\aFile.vsd@@ [eclipsed]
view private object    M:\yourDynView\yourVob\aDir\aPrivateFile

所以你需要三遍

  • 一个生成那个cleartool lsprivate -l
  • 一个删除包含的行上方的任何行eclipsed
  • 一个读取该文件并删除该文件中列出的剩余私有文件

第二步可能是(在这个线程之后松散测试)

gawk "{if ((NR!=1)&&($0!~/eclipsed/)) {if ($lastlin!~/eclipsed/) {print astlin};lastlin=$0} } END{print lastlin} " s

使用 ' s' 包含 a 的结果的文件cleartool lsprivate -l

于 2013-04-04T12:49:26.550 回答