通过扩展文件名访问文件标签作为目录

时间:2016-06-21 10:55:18

标签: clearcase

我想在ClearCase中列出特定文件的所有标签。根据(how to find all the labels for a given file in clearcase)接受的答案中的最后一种方法,我想使用cddir的组合。我只使用动态视图,因为我们有数千个版本,我想这种方法比慢速cleartool查询快得多(ClearCase在这里很慢)。有关信息,我只在Windows上工作。

以下是提到的方法:

cd m:/myView/path/to/addon.xml@@
# list all files, not directories: the files are the labels
dir /B /A-D 

不幸的是,这种方法并不适用于每个文件。奇怪的是,即使签到文件中有标签,标签文件也不会出现在目录中。标签文件仅存在于分支文件夹中。

奇怪的是,以下是有效的:copy filename@@\labelname targetfile。甚至copy labelname targetname也可以在“filename @@”目录中工作。我不明白。为什么dir没有显示这些文件?我尝试了所有属性(如隐藏文件)等等。

这是MVFS中的错误还是我错过了什么?正如我所说,它适用于许多文件,但并非适用于所有文件。但我不知道这些文件有什么不同。也许文件扩展名/类型?但这有关系吗?

1 个答案:

答案 0 :(得分:1)

  

我不明白。为什么dir不显示这些文件?

因为dir是一个Windows命令,它会列出MVFS (Multi-Version FileSystem)使用的Windows文件系统文件,而不是dynamic view个文件。

  

我不知道这些文件有什么不同。也许文件扩展名/类型?

@@之后的所有内容都是 version-extended pathname (请参阅man page),并通过MVFS动态视图模拟为Windows文件。

  

但这有关系吗?

如果您使用的是Windows命令(而非cleartool查询),则不应该这样,因为这些扩展路径应该由Windows直接显示。
它们可访问copy filename@@\labelname targetfile),但也应该可见(由基于Windows文件系统的dir命令列出)

特别是Version labels in extended namespace

  

版本标签在扩展名称空间中显示为硬链接(UNIX和Linux)或附加文件(Windows)。

     

在Windows上,如果元素的版本\main\4标记为RLS_1,则与该元素的主分支对应的扩展名称空间目录同时列出4RLS_1

Z:\myvob\src> dir sort.c@@\main
2006-11-10T17:34                1846 4
 ...
2006-11-10T17:34                1846 RLS_1

如果标签类型是使用每个元素一次的限制创建的,则在Windows上,标签版本的条目将显示在元素的顶级目录中:

Z:\myvob\src> dir sort.c@@ 2006-11-10T17:34                1846 RLS_1

不要忘记pathnames can involve multiple elements

  

路径名称越过@@扩展名称空间后,必须为路径名中的每个后续元素指定一个版本
  例如:

     

自动为元素projsrc选择版本:在目录元素include中交叉到扩展名称空间,指定包含的版本和sort.h的版本:

Windows:

\proj_vob\src@@\RLS_1\include\RLS_1\sort.h\RLS_1

OP在评论中添加:

  

问题是每元素一次限制。这是我们环境中的默认设置,但有人在他的VOB中使用了每分支一次的设置。因此无法在顶级目录中创建标签文件。

     

每个元素一次的限制是mklbtype默认值   mklbtype -pbranch命令创建一个标签类型,可以在元素的每个分支上使用一次。