是否有任何仅删除CC动态视图中的视图专用文件。在我看来,有一堆重叠的文件和查看私人文件。我只需要删除视图私有文件并保留签出和重复的文件。
我试过跟随 -
cleartool ls -r | grep -v eclipsed | grep -v checkedout | xargs rm -v
但看起来像重叠的文件会被cleartool ls
列出两次。所以它也删除了重叠的文件:(
cleartool ls -r在动态视图中为eclipsed
文件生成两个输出。
src.mk
src.mk@@ [eclipsed]
因此,使用cleartool ls -rec | grep -v "Rule:" | grep -v "eclipsed" | grep -v "-->" | xargs rm -v
删除也会删除重叠的文件。
答案 0 :(得分:3)
你是对的,这两个方面都不会起作用:
cleartool ls -rec | grep -v "Rule:" | grep -v "eclipsed" | grep -v "-->" | xargs rm -v
cleartool lsprivate | grep -v“eclipsed”| xargs rm -v
来源:我在“Command to find all view private files in the current directory recursively”的回答。
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
第二步可能是(在this thread之后进行松散测试)
gawk "{if ((NR!=1)&&($0!~/eclipsed/)) {if ($lastlin!~/eclipsed/) {print astlin};lastlin=$0} } END{print lastlin} " s
使用“s
”文件包含cleartool lsprivate -l
的结果。