【问题标题】:Clearcase: how can I obtain file information given the VOB source container pathClearcase:如何在给定 VOB 源容器路径的情况下获取文件信息
【发布时间】:2012-01-31 15:55:21
【问题描述】:

我的应用程序收到一个清晰的源容器路径(来自快照视图),如下所示:\hostmachine\vobs\VOBNAME.vbs\c\cdft\1e\1d\92a7e1286af9489595a9df220730e1e3

假设我知道文档的类型(PDF、Word、Excel、文本等),我可以使用关联的应用程序打开此路径。但是如何从这个路径获取文件类型呢?

我知道可以使用 cleartool desc 命令获取原始文件名:

cleartool desc oid:92a7e1286af9489595a9df220730e1e3

但这仅在我将工作目录设置为包含 VOB 的视图时才有效。因为我只有源容器路径——我不知道它来自什么视图。有没有办法在不知道视图路径的情况下使用这个路径获取文件的原始名称?

或者,是否有一种简单的方法来确定哪个快照视图包含此路径?

【问题讨论】:

    标签: clearcase


    【解决方案1】:

    这个old thread (2006) 提到尝试cleartool dump
    我知道它是在视图中执行的,但在您的任何动态视图中尝试它可能是值得的,只是为了看看它是否仍然有效。

    2027]dilip@sun3> ct pwv ; pwd ; ls
    Working directory view: ** NONE **
    Set view: 2.dilip
    
    /vob_store/TEST_VOB.vbs/c/cdft/32/14
    
    1c194c97205e4d25bb1d6e2053e4c27a a28b1e28b23342b3a4fd507703dbfc7f
    edbf360518b040339038399b7a0479a1
    419e3e622be2474bbe3fd52925a3273d c63ab80cf44711d98ee0000d9d4a0e31
    
    2029dilip@sun123> ct dump oid:a28b1e28b23342b3a4fd507703dbfc7f*
    @/vobs/TEST_VOB*
    
    oid:a28b1e28b23342b3a4fd507703dbfc7f@/vobs/TEST_VOB
    /vobs/TEST_VOB/docs/helle.c@@/main/1
    oid=a28b1e28.b23342b3.a4fd.50:77:03:db:fc:7f dbid=15385 (0x3c19)
    mtype=version
    stored fstat:
    

    【讨论】:

    • 动态视图对我来说不是问题,因为 clearcase 给了我一个包含文件名的路径。我按照您的建议尝试了 ct dump oid:a28b1e28b23342b3a4fd507703dbfc7f@/vobs/TEST_VOB 但它没有提供有关文件名的任何信息。
    • @yitz:有机会在动态视图中重复该命令吗? (任何动态视图)?它给了你什么样的信息?如果该动态视图安装了TEST_VOB(即使所述动态视图的配置规范TEST_VOB 无关),它将为您提供路径 .我刚刚测试了它。它有效。
    • @yitz:我刚刚在 snapshot 视图中测试了dump 命令(与TEST_VOB 无关)...它也有效!它给了我道路!
    • 当我在包含正确 VOB 的快照视图中运行命令时,我得到了文件名。但是,如果我“cd”到一个没有该 VOB 的视图,那么我就不会得到文件名。
    • 这是我得到的输出(VOBS 等的名称已更改以保护公司隐私) cleartool> dump oid:92a7e1286af9489595a9df220730e1e3@\MYVOB oid:92a7e1286af9489595a9df220730e1e3@\MYVOB C:\CCViews\MYVIEW\MYVOB\docs\MYDOC_DP.xls@@\main\mybranch\8 oid=92a7e128.6af94895.95a9.df:22:07:30:e1:e3 dbid= 18127 (0x46cf) mtype=version ... cleartool> cd C:\CCViews\AnotherView cleartool> 转储 oid:92a7e1286af9489595a9df220730e1e3@\MYVOB oid:92a7e1286af9489595a9df220730e1e3@\289.5df=989a.97e :22:07:30:e1:e3 dbid=18127 (0x46cf) ... cleartool>
    【解决方案2】:

    对此有足够的文档,但连接点来解决您的问题并不是很明显,请参阅:

    cleartool man fmt_ccase
    

    注意 %Xn 和 %n 说明符,这意味着您可以:

    cleartool desc -fmt "%Xn\n" oid:<oid-str>@<vob-prefix>
    

    例如:

    cleartool desc -fmt "%Xn\n" oid:92a7e1286af9489595a9df220730e1e3@\MYVOB
    

    cleartool desc -fmt "%Xn\n" oid:92a7e1286af9489595a9df220730e1e3@/vobs/MYVOB
    

    cleartool desc -fmt "%Xn\n" oid:92a7e1286af9489595a9df220730e1e3@@vobuuid:<vob-oid>
    

    但请记住,严格来说,由于 XPN 路径本质上是不明确的(许多可能的“邪恶双胞胎”场景),因此无法在没有视图上下文的情况下获取文件/版本的元素路径部分——所以您需要建立一个与访问感兴趣的文件/版本的视图相同的视图上下文,或者您需要使用相同的配置规范创建自己的专用视图以与上述命令一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多