【问题标题】:Access labels of file through extended filename as directory通过扩展文件名作为目录访问文件的标签
【发布时间】:2016-06-22 17:40:12
【问题描述】:

我想在 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 中的错误还是我遗漏了什么?正如我所说,它适用于许多文件,但不适用于所有文件。但我不知道这些文件有什么不同。也许文件扩展名/类型?但这有关系吗?

【问题讨论】:

    标签: clearcase


    【解决方案1】:

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

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

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

    @@ 之后的所有内容都是 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 处的扩展命名空间,指定include 版本和sort.h 版本:

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

    OP在评论中添加:

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

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

    【讨论】:

    • 感谢您的回答。问题是每个元素一次的限制。这是我们环境中的默认设置,但有人在他的 VOB 中使用了每个分支一次设置。所以无法在顶级目录创建标签文件。
    • dir是Windows命令的说法并不令人满意,因为copy也是Windows命令,可以找到标签文件。
    • @RobertS。好的,我已经修改了答案以删除不可见的 dir 参数,并强调实际问题。
    • 谢谢。我认为dir 解决方案应该在copy 有效并且copy 应该使用扩展路径名时有效。使用“每个元素一次”,dir 似乎在我们的环境中无论如何都可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多