【发布时间】:2014-06-27 02:15:23
【问题描述】:
我有一台行为不端的机器(dns 和 clearcase 目前无法正常工作)。我希望访问我在该视图中签出的文件(以及其他一些视图私有文件)并在等待 IT 管理员明天回来工作的同时在另一台机器上重新开始我的工作。
是否可以仅从视图存储目录(即 ~/views/peeterj_gcc6.vws/...)获取我签出的文件?
即在viewstorage 目录中查找显示了许多肯定是我的视图私有文件的路径:
./.s/00019/8000149553ab76a5fontconfig.Turbo.bfc
./.s/00019/80003d3353ac5afftestinc_Subpool.compilecmd
./.s/00019/8000445a53ac65b3sqlnlscnvtbls6-LE.u
./.s/00019/8000045e53ab62eccdeSystemPageInterface.hpp
./.s/00019/8000556053ac934ftestinc_sqlhhid.C
但我不确定如何从这些映射到视图中的原始文件名。
编辑:
我能够强制执行此任务,其中 ~/tmp/f2 包含感兴趣的文件列表:
cd ~/views/peeterj_gcc6.vws/
for i in `cat ~/tmp/f2` ; do echo $i `find . -name "*$i"` ; done | grep ' ' | f.pl
其中 f.pl 是以下 perl 过滤器:
#!/usr/bin/perl
use strict ;
use warnings ;
my $vsdir = "$ENV{HOME}/views/peeterj_gcc6.vws" ;
while (<>)
{
chomp ;
my ($f, @rest) = split( / /, $_ ) ;
my @match = () ;
foreach my $p (@rest)
{
if ( $p =~ m,/[0-9a-f]+$f$, )
{
push( @match, $p ) ;
goto DONE ; # hack. Just pick first.
}
}
if ( scalar(@match) )
{
DONE:
print "cp $vsdir/@match $f\n" ;
}
}
所以,我将重新提出这个问题:有没有一种方法可以系统地将视图存储目录中的文件名称映射到它们在 clearcase 起作用时在视图中的路径?
【问题讨论】:
标签: clearcase