发新话题
打印

[已解决] 是否能在protect命令中的pname参数直接使用VOB名( 此文章被查看:499次,被回复:9篇!! )

本主题由 魔术师约翰逊 于 2008-5-4 14:18 关闭

是否能在protect命令中的pname参数直接使用VOB名

根据Rossa2003等几位的指点,我做了如下试验:
先在公司域里建立组A
然后对VOB执行(VOB名为TermDoc):
cleartool protectvob -chown <管理员> -chgrp <组A> \TermDoc
命令成功执行,提示VOB ownership已经protect成功
然后再执行下面命令时:
cleartool protect -chown <管理员> -chgrp <组A> -chmod 770 \TermDoc
就提示出错,出错信息如下:
Unable to Access "TermDoc":clearcase object not found

疑问是:同样是针对TermDoc执行命令,为什么protectvob命令就可以,而protect不成呢?
从他们的语法上看,protectvob操作的对象是vob-storage-pname ,而protect操作的是pname,我这里都输入TermDoc似乎不对,但是我这里该输入什么呢?


问题已经解决 [打开主题]
本主题的最佳答案为 [ 9 楼].



© 本文为 魔术师约翰逊SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

我目前的解决办法是:
在CC服务器上建立一个对TermDoc这个VOB的视图,在property of element中,设置property中others的权限为空

但还是想知道,通过命令行方式怎么执行这个操作的

谢谢!



© 本文为 魔术师约翰逊SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

注意path
protectvob 要指定vbs
protect 要制定view中的vob路径。



© 本文为 amongSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员
Where are we ?

TOP

protect要在VIEW下招待,VOB名前不要加\

protectvob,你作的没错
然后,在一个动态VIEW下执行:
cleartool mount  \TermDoc
cleartool protect -chown <xxx> -chgrp <xxx> TermDoc

我这样写的语句是在win平台下CC语句

© 本文为 rossa2003 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

我对命令行的使用不熟悉,需要努力学习

我也是在Windows下使用CC,我试了下面几种输入(我在CC server上已经mount了视图为M:):
1。先执行mount
cleartool mount \TermDoc
提示是:\TermDoc is already mounted, 说明mount已经成功了,
然后,切换到M:下执行:cleartool protect -chown <管理员> -chgrp <组名> -chmod 770 TermDoc
提示是:Unable to access "TermDoc": No such file or directory

2, VOB的CC服务器端本地地址是:E:\ClearCase_Storage\VOBs\TermDoc.vbs
我切换到M:下执行:
cleartool protect -chown <管理员> -chgrp <组名> -chmod 770 E:\ClearCase_Storage\VOBs\TermDoc.vbs
提示:not an object in a VOB: "E:\ClearCase_Storage\VOBs\TermDoc.vbs"
这会,这个TermDoc里没有任何内容,难道是这个原因么?

3,VOB的CC服务器Global path是:\\<机器名>\ccstg_e\VOBs\TermDoc.vbs
我执行:cleartool protect -chown <管理员> -chgrp <组名> -chmod 770 \\<机器名>\ccstg_e\VOBs\TermDoc.vbs
提示是:Unable to access "\\<机器名>\ccstg_e\VOBs\TermDoc.vbs": Clearcase object not found

到底这个protect的path参数该怎么写啊,郁闷
看帮助上有这么一段:
Change the group ID for all elements in the src directory to user.
cmd-context  protect –recurse –chgrp user src
帮助上这个src目录是哪级目录,是不是不需要写完整的路径啊?

© 本文为 魔术师约翰逊 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

引用:
原帖由 魔术师约翰逊 于 2008-4-11 19:27 发表
我目前的解决办法是:
在CC服务器上建立一个对TermDoc这个VOB的视图,在property of element中,设置property中others的权限为空
但还是想知道,通过命令行方式怎么执行这个操作的
谢谢!
我今天对另外一个VOB做类似操作,结果报错如附图,请各位达人指点一二
其中ccadmin是CC的管理员,我也添加到SQAGroup中了,ccadmin也属于clearcase管理组,谢谢!

附件

NoPermission.JPG (35.67 KB)

2008-4-29 20:11

NoPermission.JPG


© 本文为 魔术师约翰逊 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

回复 板凳 的帖子

protectvob要指定vbs吗? 我通常加的是vob tag呢,也可以执行成功.但不知道加vob storage 和加vob tag 有什么区别.
protect要进到视图下才执行吧,楼主只到M盘还是找不到吧.

© 本文为 allm 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

针对6楼我自己的问题,我目前的解决方法是:
在一个属于SQAGroup组的成员的客户端建立VOB,存储在服务器建立的存储位置,然后在CC服务器上执行:
protectvob -chgrp SQAGroup \VOBName,然后再在服务器端建立的view中更改property of element,设置property中others的权限为只读,这样实现了我最先想做的操作。
但为什么这样可以成功,我其实还是有些迷糊,请教各位达人。

© 本文为 魔术师约翰逊 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

protectvob是针对vob对象的。
protect是针对vob内部的element,比如目录/文件之类的。

比如:你有一个vob名字是XXXVOB。
从硬盘上看,会有一个目录叫作XXXVOB.vbs;
从view中去看,这个vob的根目录也叫做XXXVOB.

如果你用protectvob命令,最方便的方式就是用vob tag。
protectvob -chown <username> -chgrp <group> \XXXVOB

如果你用protect命令,就需要进入一个view,
protect -chown <user name> -chgrp <group> -chmod <nnn> XXXVOB
上面这条命令就是修改XXXVOB这个VOB的根目录的权限。
当执行protect的时候,要注意:
1,当前工作目录应当是XXXVOB的一个View里面;
2,你要修改权限的目录/文件,最好在当前目录下可以看到。


最佳答案
该回答被楼主/管理员列为正解!

© 本文为 bigjames 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员
用CCRC取代Native Client吧,至少在下一个补丁出来之前。

TOP

非常感谢9楼!!!
9楼的答复让我基本理解了protect和protect这两个命令的使用,刚才在库里试验多次,好使!
我之前迷糊的地方其实主要在于下面几点:
1、 protect执行的时候没有在适当的view下,而没有在view下时,路径又没有写对,所以总也不成;
2、 在view下使用protect时,需要有适当的权限(权限这块还略微有些迷糊,但基本不影响我目前完成希望完成的操作了,稍后单独发帖再请教)

© 本文为 魔术师约翰逊 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题