我需要找到一个命令来从Clearcase获取活动视图名称,因此我可以询问用户是否要将其设置为默认路径。以下无效。除此之外还有其他选择吗?
out, err = subprocess.Popen([r"cleartool", "xxx", "-xxxxx"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE).communicate()
return out
cleartool pwv
仅会给您视图的名称。获取路径:
cleartool pwv
cleartool pwv -root
可能意味着快照视图,因为默认情况下通常将所有动态视图挂载(MVFS)在驱动器G:\
上(但它们也可以替换为驱动器号)。对于快照视图,驱动器号不同于M:\
表示快照视图的实际路径已为驱动器号C:\
(Windows命令),以缩短其路径。
请参见“ subst
”
与使用快照命令将快照视图根目录分配给驱动器号相比,将快照视图根目录分配给驱动器号的性能稍好于共享视图
因此,如果您在To use the subst
command to access snapshot views (Windows)上并且想要subst
后的完整路径,则可以:
G:\norbt5_ed_hil_dev
如果仅返回cleartool pwv
,则需要调用命令cleartool pwv -root
以查看已分配G:\
的完整路径。
subst
或者,在python中(如G:\
):
subst
并解析结果。
注意:如“ in the example”中所述,在以os.system('subst')
开头的dynamic视图中,Python and ClearCase setview
在Unix上不起作用(在Windows中,setview
不存在),因为它创建一个子过程。如果您在使用动态视图的Unix上,请不要使用pwv
(与setview
相同)。始终使用setview
,然后使用动态视图的完整路径:
setview
A illustrated here然后将返回cleartool startview <view_tag>
。
在Windows上,如果在动态视图中使用cleartool startview <view_tag>
,则由/view/AViewName/vobs/aVob/...
返回的视图的名称就足够了:
在Windows上,动态视图的根文件夹的路径始终为:
cleartool pwv -root
即使视图已/view/AViewName
到另一个驱动器号。您不需要cleartool pwv
。
cleartool pwv -short
是查看活动视图名称的命令。m:\view_tag
提供更好的输出。
您不必调用任何二进制文件即可确定当前视图。在Python外部(=在命令外壳中),可以进行以下工作:
subst
作为-root
设置
cleartool pwv
当它使您进入set-view-shell时。这也意味着,在Python中,您可以执行以下命令:
cleartool pwv -short