在Clearcase中获取当前工作视图

问题描述 投票:2回答:3

我需要找到一个命令来从Clearcase获取活动视图名称,因此我可以询问用户是否要将其设置为默认路径。以下无效。除此之外还有其他选择吗?

out, err = subprocess.Popen([r"cleartool", "xxx", "-xxxxx"],
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE).communicate()
return out
python subprocess clearcase
3个回答
4
投票

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


0
投票

cleartool pwv -short是查看活动视图名称的命令。m:\view_tag 提供更好的输出。


0
投票

您不必调用任何二进制文件即可确定当前视图。在Python外部(=在命令外壳中),可以进行以下工作:

subst

作为-root设置

cleartool pwv

当它使您进入set-view-shell时。这也意味着,在Python中,您可以执行以下命令:

cleartool pwv -short
© www.soinside.com 2019 - 2024. All rights reserved.