Clearcase: как получить информацию о файле, указав путь к контейнеру источника VOB - PullRequest
1 голос
/ 31 января 2012

Мое приложение получает путь к исходному контейнеру в чистом виде (из представления снимка), например: \ hostmachine \ vobs \ VOBNAME.vbs \ c \ cdft \ 1e \ 1d \ 92a7e1286af9489595a9df220730e1e3

Предполагая, что я знаю тип документа (PDF, Word, Excel, Text и т. Д.), Я могу открыть этот путь с помощью соответствующего приложения. Но как мне получить тип файла по этому пути?

Я знаю, что исходное имя файла можно получить с помощью команды cleartool desc:

Описание прозрачного инструмента: 92a7e1286af9489595a9df220730e1e3

, но это работает, только если я установил в своем рабочем каталоге представление, содержащее VOB. Поскольку все, что у меня есть, - это путь к исходному контейнеру - я не знаю, откуда он пришел. Есть ли способ получить исходное имя файла, используя этот путь, не зная пути представления?

В качестве альтернативы, есть ли простой способ определить, какое представление снимка содержит этот путь?

Ответы [ 2 ]

1 голос
/ 31 января 2012

В этом старом потоке (2006) упоминается попытка cleartool dump.
Я знаю, что он выполняется в представлении, но, возможно, стоит попробовать его в any * 1006.* ваших динамических представлений, просто чтобы посмотреть, может ли оно все еще работать.

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:
0 голосов
/ 25 августа 2012

Для этого достаточно документации, но не совсем очевидно соединить точки, чтобы решить вашу проблему, см .:

cleartool man fmt_ccase

Обратите внимание на спецификаторы% Xn и% n, что означает, что вы можетеdo:

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 (многие возможные сценарии «злого близнеца») - так что вам либо нужно установить контекст представления с помощьюто же самое представление, к которому был обращен интересующий файл / версия, или вам нужно создать свое собственное выделенное представление с той же конфигурационной спецификацией, чтобы использовать с приведенными выше командами.

...