我的应用程序收到一个clearcase源容器路径(从快照视图),如下所示: \ hostmachine \ vobs \ VOBNAME.vbs \ c \ cdft \ 1e \ 1d \ 92a7e1286af9489595a9df220730e1e3
假设我知道文档的类型(PDF,Word,Excel,Text等),我可以使用其关联的应用程序打开此路径。但是如何从此路径获取文件类型?
我知道可以使用cleartool desc命令获取原始文件名:
cleartool desc oid:92a7e1286af9489595a9df220730e1e3
但这仅在我将工作目录设置为包含VOB的视图时才有效。因为我拥有的只是源容器路径 - 我不知道它来自哪个视图。有没有办法在不知道视图路径的情况下使用此路径获取文件的原始名称?
或者,是否有一种简单的方法可以确定哪个快照视图包含此路径?
答案 0 :(得分: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:
答案 1 :(得分:0)
这方面有足够的文档,但连接点以解决问题并不是很明显,请参阅:
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路径固有的模糊性(许多可能的&#34;邪恶的双胞胎&#),因此不可能在没有视图上下文的情况下获取文件/版本的元素路径部分。 34;场景) - 所以你需要建立一个视图上下文,其中相同的视图访问感兴趣的文件/版本,或者你需要创建自己的专用视图,使用相同的config-spec来与上面的命令一起使用