Version control 递归添加到源代码管理的脚本:如何忽略特定文件和文件夹

Version control 递归添加到源代码管理的脚本:如何忽略特定文件和文件夹,version-control,clearcase,cleartool,Version Control,Clearcase,Cleartool,我有一个问题困扰了我很长时间了。最好参考以下(众所周知的)脚本: 重点是什么 我的第二个问题具有相当“装饰性”的性质。 运行脚本后生成的输入框(至少在我的情况下)太小,无法容纳要添加到源代码管理中的元素的整个路径。 是否有办法确保完整路径始终可见? 这是否一个需要修改的问题 $status = system("clearprompt list -outfile $choosed -dfile $list_add -choices -prompt \"Choose element(s) to p

我有一个问题困扰了我很长时间了。最好参考以下(众所周知的)脚本:

重点是什么

我的第二个问题具有相当“装饰性”的性质。
运行脚本后生成的输入框(至少在我的情况下)太小,无法容纳要添加到源代码管理中的元素的整个路径。
是否有办法确保完整路径始终可见?
这是否一个需要修改的问题

$status = system("clearprompt list -outfile $choosed -dfile $list_add -choices 
-prompt \"Choose element(s) to put over version control : \" -prefer_gui"); 
还是我完全错了?现在就这些。任何帮助都将不胜感激

因此,最好将要忽略的文件放在ClearCase视图之外,而不是放在内部;)

也就是说,您需要将
ct lsview-r
(或该命令的更详细版本,如“”)与
grep

这意味着您将从参数中读取包含要忽略的文件的所有grep regexp的文件路径,并将ct lsview-r的结果通过每个“
grep-v xxx
”(以排除与该特定模式匹配的任何文件)

对于Windows,GoW(Windows上的Gnu)将为您提供功能齐全的
grep
(以及编译为本机win32二进制文件的130个其他Unix命令)

报告:

由于一些UNIX应用程序(在
Gow
)与其他本地例程发生冲突,我不得不切换回使用
findstr

所以,基本上我所做的只是使用

在这样做的过程中,
$list\u文件将按应有的方式生成(即,包括除
asv文件
之外的所有视图私有元素)。
此外,当嵌入到Perl脚本中时,该脚本将平稳运行到最后,只指出已经存在的错误



关于第二个问题,我不知道如何更改
cleardlg
的大小(一旦创建,它们甚至无法重新调整大小)

@Mahyar unix或Windows:它会工作的。对于Windows,安装GoW(Windows上的Gnu):,您将看到
grep
@Mahyar您的错误消息是什么?在从perl脚本调用命令之前,请先在DOS windows中尝试该命令;也许我应该先提到这一点。让我们忘掉我的第二个问题,专注于第一个问题。我现在已经从
$status=system(“cleartool ls-view_only-r-s$start_dir>$list_file”)进行了更改
$status=system(“cleartool ls-view_only-r-s | findstr/vi\”.asv$^cleartool$\“$start_dir>$list_file”),但它不起作用。我输入的语法是否正确?如果我只是在所考虑的文件夹(在我的快照视图中)中执行行
cleartool ls-view_only-r-s | findstr/vi.asv$^cleartool$“$start_dir>$list_file
,我将收到一个错误,说明
$start_dir
无法访问(“没有这样的文件或目录”)。@Mahyar,
$start\u dir
是一个Perl变量,其值仅在脚本中执行。要在DOS窗口中进行测试,请用快照视图的根目录(或任何子目录)的完整路径替换
$start\u dir
$status = system("cleartool ls -view_only -r -s $start_dir > $list_file");
$status = system("clearprompt list -outfile $choosed -dfile $list_add -choices 
-prompt \"Choose element(s) to put over version control : \" -prefer_gui"); 
cleartool ls -view_only -r -s | findstr /vi "\.asv" f > $list_file.