是否可以从视图存储目录访问clearcase视图专用文件?

时间:2014-06-27 02:15:24

标签: clearcase

我有一台行为不端的机器(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运行时它们在视图中的路径?

1 个答案:

答案 0 :(得分:0)

  

当ClearCase正常运行时,有没有办法系统地将视图存储目录中文件的名称映射到它们在视图中的路径?

     

不是一贯的,甚至不是他们的名称

如果您查看IBM技术说明&#34; Locating view private files in the storage directory&#34;,他们的建议是:

  

进入.s子目录

     

位于此目录下的是许多编号的目录   浏览编号目录,搜索视图专用文件   这些目录中列出的所有文件都是视图专用文件。文件的文件名前面会有一个ID号。

     

示例:

     

help.txt下的目录中的视图专用文件.s名为

241ae3df.000c.help.txt
  

注意:查看在视图中重命名的私有文件未在视图存储目录中重命名
  例如,如果您创建名为help.txt的视图专用文件,然后将其重命名为new.txt,则视图存储目录中的物理文件仍将命名为241ae3df.000c.help.txt

因此,如果您有另一个 工作视图,您可以尝试将旧视图存储中找到的文件复制到新视图存储中的类似路径中,看看是否有效。