如何使用 ClearCase 菜单编辑器对查看私人文件执行 mkelem

问题描述 投票:0回答:3

我正在 Windows 动态视图中工作。
我正在尝试使用 ClearCase 菜单编辑器创建一个工具快捷方式,以自动对我视图中的所有私有文件执行“

mkelem
”。

我知道“

cleartool lsprivate -other
”可以获取所有私有文件的完整路径列表,但我不知道如何将结果列表输入“mkelem”命令中。
我还知道“
find
”命令,最后您可以指定“
-exec
”以使其执行要在结果列表上执行的附加操作,但我再次不知道是什么提供给“
find
”的参数,以便它只查找查看私有文件。

有人可以帮我吗?

find clearcase checkin
3个回答
1
投票

我会考虑/测试的另一种方法是我在“如何使用 ClearCase 递归地“添加到源代码管理……”?”中提到的方法,其中

clearfsimport

我怀疑将视图文件夹导入到视图本身中的clearfs应该会自动添加私有文件,同时保持现有文件不变。但是,正如所评论的,您需要导入一个新的动态视图(具有相同的配置规范)才能正常工作。

cleartool find
的问题是它会找到版本化的元素。
它可以在其 exec 子句中使用
%CLEARCASE_PN%
%CLEARCASE_XPN%
作为参数:引用已经 versioned 元素的路径名或扩展路径名。


0
投票

嗯,这很复杂,因为您需要在创建元素之前检查父目录。

您是否尝试过类似这样的命令:

for /f "delims==" %x ('cleartool lsprivate -other') do @cleartool co -nc "%~px" & cleartool mkelem -mkpath -ci -c "autoadd" "%x" & cleartool ci -nc "%~px"

-mkpath 在创建元素的同时创建元素路径的任何缺失部分。那应该——通过适当的处理,使其在“cmd /c”或批处理作业中工作,完成基础知识...当然,这也为每个新元素提供了 1 个新版本的父目录。

如果您不反对 Perl,您可以通过获取该列表、创建任何所需的目录并创建元素来对此进行扩展。


0
投票

将 lsprivate 命令包装在另一个 shell 命令中,以限制输入 lsprivate “消耗”作为参数。

lsprivate 似乎很不寻常,因为任何和所有参数都被处理为路径名 - 因此不可能将输出重定向到文件。

在命令行窗口命令“for /F in ('command-that- Produces-string-output') do more_commands_and_arguments”中包装 lsprivate 是有效的。

for /F "delims==" %x in ('cleartool lsprivate -other "v:\firstinitial_lname\vob_name\software\build_products\yyyy-MM-dd""') do @cleartool mkelem -mkpath -ci -c "Initial Check-In" "%x"
  • 根目录为“v: irstinitial_lname ob_name\software uild_products\yyyy-MM-dd”的文件系统中的
    view_only 文件将被传递到cleartool mkelem 命令

  • cleartool mkelem 命令需要 view_only 文件的完整路径名
  • 以这种方式将文件添加到 ClearCase 是可以的,但是还有更快的方法 - 请参阅 clearfsimport

详细说明
cleartool lsprivate -other <path> 


此命令非常适合获取文件系统子树中的视图私有文件(-view_only 文件)列表。 您会发现参数后面的任何内容都被视为路径。 这种行为使得将输出重定向到文件变得困难。

图案

将 shell 命令包装在另一个 shell 命令中。

示例

通过将cleartool lsprivate 包装在另一个 shell 命令中,将 lsprivate 输出重定向到文件
(说明命令行环境变量可以与cleartool lsprivate一起使用)

for /F "delims==" %x in ('cleartool lsprivate -other "v:\firstinitial_lname\vob_name\software\build_products\yyyy-MM-dd"') do echo Folder "%~px" pathname "%x" >> ../../result_lsprivate.txt
    
© www.soinside.com 2019 - 2024. All rights reserved.