如何缩短clearcase视图的加载目录?

时间:2009-02-12 05:33:37

标签: clearcase

在Clearcase中我有一个像这样的路径的VOB:

\Department\ProductGroup\Product1\Development

我有一个像这样的配置规范的视图:

element * CHECKEDOUT
element * .../mybranch/LATEST
element * /main/LATEST -mkbranch mybranch
load \Department\ProductGroup\Product1

Product1的所有源代码都在Development目录中。此目录之外没有我关心的任何内容。代码中的所有引用都与此目录有关。

我在目录c:\ dev

中创建了上面的Clearcase视图

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

c:\dev\Department\ProductGroup\Product1\Development

Development的所有父目录都是空的。我宁愿只有以下目录。

c:\dev\Product1  

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

1 个答案:

答案 0 :(得分:1)

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

load /Department/ProductGroup/Product1/Development

注意:您可以使用“/”,比“\”更容易,Windows配置规范也能正确解释它。

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

考虑这个配置规范
首先在动态视图中测试,快速检查 - 没有无休止的更新重新加载步骤 - 如果结果符合您的需要:Development下的文件,任何地方都没有文件别的)

element * CHECKEDOUT

# read/write selection rule for the directory and sub-directory
# where you need to work
element /Department/ProductGroup/Development/... .../mybranch/LATEST
element /Department/ProductGroup/Development/... /main/LATEST -mkbranch mybranch

# specific selection rule for the parent directories of Development
# those rules do not contain a mkbranch directive
element /Department/ProductGroup  .../mybranch/LATEST
element /Department/ProductGroup /main/LATEST
element /Department  .../mybranch/LATEST
element /Department /main/LATEST

# cleaning rule right there: anything outside /Department/ProductGroup/Development
# will not be selected, hence not loaded
element /Department/* -none

load \Department

这样,您始终保持相同的加载规则load \Department,并且您的选择规则会为您执行清理。

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

subst X: c:\dev\Department\ProductGroup\Product1\Development

您可以在X:\

中继续使用快照视图

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

  • view.dat(指示目录树的隐藏文件实际上是快照视图)
  • 一个vob(在您的情况下为DepartmentProductGroup\Product1\Development是Vob中的路径Department

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

出于同样的原因,在Windows上使用Junction的硬链接无效

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 /“Devious”解决方案:

从ClearCase资源管理器中,将DevelopmentDepartment\ProductGroup\Product1移至Department!该移动将在“mybranch”版本树中进行记录,对于在/main/LATEST中工作的任何其他人都不会显示。

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

X:\Department\Development

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