2013-04-04 22 views
3

是否有任何删除仅在CC动态视图中查看私人文件。在我看来有一堆重叠的文件和查看私人文件。我只需要删除查看私人文件,并保留检出和重叠的文件。ClearCase删除查看私人文件只有

我尝试以下 -

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

不过貌似黯然失色文件与cleartool ls列出两次。所以它删除黯然失色文件太:(

cleartool LS -r为eclipsed文件中的动态视图产生两个输出。

src.mk 
[email protected]@ [eclipsed] 

因此,与cleartool ls -rec | grep -v "Rule:" | grep -v "eclipsed" | grep -v "-->" | xargs rm -v删除删除黯然失色文件了。

+0

'cleartool lsprivate'有什么问题? – mouviciel 2013-04-04 13:11:06

+0

@mouviciel它也应该工作。我已将它添加到答案中。 – VonC 2013-04-04 13:40:36

+0

@mouviciel“cleartool lsprivate”也列出了黯然失色的文件。 – Kamath 2013-04-04 19:01:27

回答

3

你是对的,没有这两个soution的将工作:

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

cleartool lsprivate | grep的-v “黯然失色” | 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\[email protected]@ [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的结果文件。

+0

“cleartool ls -rec | grep -v”规则:“| grep -v”重叠“| grep -v” - >“| xargs rm -v”不起作用。我已经更新了上面的解释。 – Kamath 2013-04-05 09:34:49

+0

@LOK和'cleartool lsprivate | grep -v“eclipsed”| xargs rm -v'我在答案中提到了另一种选择?这会更好吗? – VonC 2013-04-05 09:36:54

+0

nope即使这个命令删除黯然失色的文件:( – Kamath 2013-04-05 09:39:13