我想在ClearCase中列出特定文件的所有标签。根据(how to find all the labels for a given file in clearcase)接受的答案中的最后一种方法,我想使用cd
和dir
的组合。我只使用动态视图,因为我们有数千个版本,我想这种方法比慢速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中的错误还是我错过了什么?正如我所说,它适用于许多文件,但并非适用于所有文件。但我不知道这些文件有什么不同。也许文件扩展名/类型?但这有关系吗?
答案 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
,则与该元素的主分支对应的扩展名称空间目录同时列出4
和RLS_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:
路径名称越过
@@
扩展名称空间后,必须为路径名中的每个后续元素指定一个版本。
例如:自动为元素
proj
和src
选择版本:在目录元素include中交叉到扩展名称空间,指定包含的版本和sort.h
的版本:
Windows:
\proj_vob\src@@\RLS_1\include\RLS_1\sort.h\RLS_1
OP在评论中添加:
问题是每元素一次限制。这是我们环境中的默认设置,但有人在他的VOB中使用了每分支一次的设置。因此无法在顶级目录中创建标签文件。
每个元素一次的限制是
mklbtype
默认值mklbtype -pbranch
命令创建一个标签类型,可以在元素的每个分支上使用一次。