我们想要Base Clearcase VOB的所有标签内容。 我为VOB创建了一个View,并将 config.spec 文档编辑为
element * checkedout
element * label_ID
element * /main/latest
但它带来了与VOB相关的所有组件,而不是标签。
如何选择仅标有label_ID
的元素?
答案 0 :(得分:1)
如果标签已在vob本身和所有元素上设置(例如:/<vobtab>/dir1
,/<vobtab>/dir1/dir2/
,/<vobtab>/dir1/dir2/*
),则以下配置规范只会带来标记的元素,而不是其他的vob元素:
element * checkedout
element * label_ID
element * -none
但是如果已在/<vobtab>/dir1/dir2/*
,而不是 /<vobtab>/dir1/
(父文件夹本身)内的所有元素上设置了label_ID,或者/<vobtab>/
上没有设置label_ID( vob本身的根文件夹),然后该配置规范根本不会带来任何元素
解决方法是选择父元素:
element * checkedout
element * label_ID
element /<vob_tag>/dir1 /main/LATEST
element /<vob_tag> /main/LATEST
element * -none
我建议在动态视图中执行此操作(可以在每次配置规范修改后快速刷新),而不是快照视图(必须在每个setcs
之后重新加载)
另一种方法,不是基于配置规范(因为要访问标记元素可能很难选择正确的父文件夹)是使用cleartool find
查询。
参见:
基本上,您可以列出仅通过进入您的“动态”视图并执行以下操作来标记
:UNIX和Linux:
cleartool find -cview -element '{lbtype_sub(REL1)}' -print
视窗:
cleartool find -cview -element "{lbtype_sub(REL1)}" -print
您可以使用-print
而不是使用-exec "a command"
,并使用exec选项执行任何命令,例如复制刚刚找到的内容:
cleartool find -cview -element "{lbtype_sub(REL1)}" -exec "copy \"%CLEARCASE_PN%\" c:\a\path"
cleartool find . –version "lbtype(LB_TYPE)"
如果命令过于挑剔,只需将结果重定向到文件:
cleartool find -cview -element "{lbtype_sub(REL1)}" -print > file.txt
然后处理该文件以复制其内容,如&#34; Batch: Copy a list (txt) of files&#34;:
@echo off
set src_folder=c:\whatever
set dst_folder=c:\target
for /f "tokens=*" %%i in (File-list.txt) DO (
xcopy /S/E/U "%src_folder%\%%i" "%dst_folder%"
)
答案 1 :(得分:1)
如果你不介意看到一堆空目录,你可以这样做:
element * CHECKEDOUT
element -file * label_ID
element -directory * /main/LATEST
这将返回每个文件夹的LATEST或CHECKEDOUT版本,但除非已标记或CHECKEDOUT
否则不会显示文件查看the config_specs reference page - 您可以使用配置规范进行大量工作(例如,如果您只需要MSWord文档,则可以这样做“element -file * .doc / main / LATEST”)< / p>