是否可以仅从视图存储目录访问clearcase视图私有文件?
我有一台机器运行不正常(dns,因此clearcase目前不工作)。我希望访问该视图中的已签出文件(以及一些其他视图私有文件),然后在另一台机器上重新开始工作,同时等待IT管理员明天回来工作 是否可以仅从视图存储目录(即~/views/peeterj_gcc6.vws/…)获取我的签出文件 i、 e.在viewstorage目录中查找显示了许多路径,这些路径肯定是我的视图私有文件:是否可以仅从视图存储目录访问clearcase视图私有文件?,clearcase,Clearcase,我有一台机器运行不正常(dns,因此clearcase目前不工作)。我希望访问该视图中的已签出文件(以及一些其他视图私有文件),然后在另一台机器上重新开始工作,同时等待IT管理员明天回来工作 是否可以仅从视图存储目录(即~/views/peeterj_gcc6.vws/…)获取我的签出文件 i、 e.在viewstorage目录中查找显示了许多路径,这些路径肯定是我的视图私有文件: ./.s/00019/8000149553ab76a5fontconfig.Turbo.bfc ./.s/0001
./.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" ;
}
}
#/usr/bin/perl
严格使用;
使用警告;
my$vsdir=“$ENV{HOME}/views/peeterj_gcc6.vws”;
而()
{
咀嚼;
我的($f,@rest)=拆分(//,$);
我的@match=();
foreach我的$p(@rest)
{
如果($p=~m,/[0-9a-f]+$f$,)
{
推送(@match,$p);
好了,哈克,先选吧。
}
}
if(标量(@match))
{
完成:
打印“cp$vsdir/@match$f\n”;
}
}
因此,我将重新提出这个问题:当clearcase正常工作时,有没有一种方法可以系统地将视图存储目录中的文件名映射到视图中的路径
当ClearCase正常工作时,是否有方法系统地将视图存储目录中的文件名映射到视图中的路径
不太一致,甚至连他们的名字也不一致
如果您查看IBM technote“”,他们的建议是:
进入.s
子目录
此目录下有许多编号的目录。浏览编号的目录,搜索视图专用文件。
这些目录中列出的所有文件都是视图专用文件。文件的文件名前面将有一个ID号 例如: 视图私有文件
help.txt
,位于.s
下的目录中,命名为
注意:在视图中重命名的视图私有文件不会在视图存储目录中重命名例如,如果创建名为
help.txt
的视图专用文件,然后将其重命名为new.txt
,则视图存储目录中的物理文件仍将命名为241ae3df.000c.help.txt
因此,如果您有另一个工作视图,您可以尝试将在旧视图存储中找到的文件复制到新视图存储中类似的路径中,然后查看是否有效
241ae3df.000c.help.txt