如何缩短clearcase视图';加载目录是什么?

如何缩短clearcase视图';加载目录是什么?,clearcase,Clearcase,在Clearcase中,我有一个VOB,路径如下: \Department\ProductGroup\Product1\Development element * CHECKEDOUT element * .../mybranch/LATEST element * /main/LATEST -mkbranch mybranch load \Department\ProductGroup\Product1 我有一个配置规范如下的视图: \Department\ProductGroup\Prod

在Clearcase中,我有一个VOB,路径如下:

\Department\ProductGroup\Product1\Development
element * CHECKEDOUT
element * .../mybranch/LATEST
element * /main/LATEST -mkbranch mybranch
load \Department\ProductGroup\Product1
我有一个配置规范如下的视图:

\Department\ProductGroup\Product1\Development
element * CHECKEDOUT
element * .../mybranch/LATEST
element * /main/LATEST -mkbranch mybranch
load \Department\ProductGroup\Product1
Product1的所有源代码都在开发目录中。此目录之外没有我关心的内容。代码中的所有引用都与此目录相关

我已经在目录c:\dev中创建了上面的Clearcase视图

目前,上述设置会创建一个目录:

c:\dev\Department\ProductGroup\Product1\Development
Development
的所有父目录均为空。我只希望有以下目录

c:\dev\Product1  

其中
c:\dev\Product1
映射到VOB路径
\Department\ProductGroup\Product1\Development
。这可能吗?

1/为什么不只加载\Department\ProductGroup\Product1\Development

load /Department/ProductGroup/Product1/Development
注意:您可以使用“
/
”,比“
\
”更简单,而且Windows配置规范对其进行了正确解释

1bis/如果您想保留一般规则,可以使用一些“清洁规则”

考虑此配置规范
首先在动态视图中对其进行测试,以快速检查——也就是说,无需无休止的更新重新加载步骤——如果结果符合您的需要:在
开发中的文件
下,其他任何地方都没有文件)

这样,您总是保持相同的加载规则
load\Department
,并且您的选择规则为您进行清理

2/关于路径问题,您可以使用符号链接,但最简单的方法是使用subst

subst X: c:\dev\Department\ProductGroup\Product1\Development
您可以继续在X中使用快照视图:\

但这不起作用,因为ClearCase需要:

  • view.dat(指示目录树的隐藏文件实际上是快照视图)
  • vob(在您的案例中是
    部门
    ProductGroup\Product1\Development
    是vob
    部门
    内的路径)

    X:>ct lsview-l-full-pro-cview cleartool:错误:无法获取当前视图的视图信息:不是ClearCase对象。 X:>ct ls cleartool:错误:路径名不在VOB:“”内

出于同样的原因,在windows上使用的硬链接将不起作用

c:\dev>junction Product1 Department\ProductGroup\Product1
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com

Created: C:\dev\Product1
Targetted at: C:\dev\Department\ProductGroup\Product1

C:\cc\xxx>ct ls
cleartool: Error: Pathname is not within a VOB: "."
因此,您可以做的是:

subst X: c:\dev
结合1/中的特定负载规则或1bis/中的清洁规则,将为您提供:

  • 稍短一点的路
  • 没有额外的空子目录

2bis/“迂回”解决方案:

从ClearCase浏览器中,将
开发
部门\产品组\产品1
移动到
部门
!该移动将记录在“
mybranch
”版本树中,并且对于在
/main/LATEST
中工作的任何其他人都不可见

然后使用上面的
subst
,您将在
Department\Development
中的“mybranch”中工作

X:\Department\Development

当您想公开时,请反向移动。

感谢您提供的所有信息,但从您的描述来看,长路径的关键问题似乎只有使用subst才能“解决”。否:如果“subst”对您不起作用(因为它是有限的),则在开发分支内移动目录是我在回答中指定的一个很好的解决方法,移动您的目录(ct move)是一个很好的解决方法,它将导致路径长度大大缩短。但是,它可能会破坏某些类路径或其他环境脚本。