Скрипт для получения версии файла в открытом регистре - PullRequest
2 голосов
/ 15 декабря 2010

Я хотел бы получить версию файла в чистом виде с помощью сценария .Это возможно?

Спасибо.

Ответы [ 4 ]

4 голосов
/ 15 декабря 2010

Самый верный способ получить версию файла:

cleartool descr -fmt "%Vn" myFile

Таким образом, нет необходимости анализировать что-либо: если это версионный файл, результат не будет пустым.

cleartool descr -fmt "\tElement: %-13.13En Version: %Vn\n" util.c
Element: util.c Version: /main/rel2_bugfix/1

Примечание: если файл CHECKEDOUT, вы можете захотетьчтобы добавить опцию -pred (предшественник) к команде descr:

ct descr -fmt "%Vn" .project
\main\MyProject_Int\MyProject_Dev\CHECKEDOUT
ct descr -pred -fmt "%Vn" .project
\main\MyProject_Int\MyProject_Dev\CHECKEDOUT  predecessor version: \main\MyProject_Int\MyProject_Dev\4

или просто использовать %PVn (тот же результат, но без разбора)

ct descr -fmt "%PVn" .project
\main\MyProject_Int\MyProject_Dev\4
1 голос
/ 13 июля 2012

cleartool describe -short -predecessor <filename>

1 голос
/ 25 января 2011

Я хотел бы думать, что все согласятся, что есть довольно много способов получить желаемый результат. Вместо того чтобы использовать GUI для сохранения списка всех моих файлов слияния во время findmerge, я запускаю команду cleartool 'find', чтобы получить то, что мне нужно, затем портирую этот вывод в другую команду для автоматической маркировки каждого.

Например:

находка в cleartool. -user -version "{brtype (имя-ветви) && made_since (дата) && (! версия (/ main / имя-ветви / 0))} -print

Приведенная выше команда найдет все версии, созданные в ветви конкретным пользователем, созданным в определенную дату (fmt: 1-Jan-10 или 1-Jan), и НЕ является нулевой версией. Вы также можете указать диапазон дат, если хотите. Таким образом, текущая команда будет возвращать те файлы, которые в настоящее время также проверяются. Чтобы удалить это из вывода, добавьте следующее после -print: | grep -v ПРОВЕРКА.

Вы можете поиграть с командой, чтобы найти точное совпадение, которое вы хотите, но то, что выше, даст вам прочную основу для начала.

0 голосов
/ 15 декабря 2010

Я не уверен, какой язык сценариев вы используете, но вы всегда можете вызвать системную команду cleartool ls <filename> и затем проанализировать вывод, чтобы получить версию.

...