Получение номера ревизии конца ветки в WinCvs

Мне нужна команда CVS, которая дает имя ветви, она даст вам номер ревизии последнего файла в этой ветви.


Древовидная структура CVS:

(filename)
    |
    +--> 1.1-----(branch)
          |         |
          |      1.1.1.1
          |         |
          |      1.1.1.2
          |         |
          |      1.1.1.3
          |
          |
         1.2
          |
          |
          :

Например: используя команду CVS с именем тега "branch", как я могу получить CVS, чтобы дать мне номер редакции "1.1.1.3"?


Я пытался использовать log команда и ожидается, что сможет проанализировать вывод log команда, чтобы получить номер версии, но версию, что log Выходные данные команды для ветви не соответствуют номеру версии в конце ветви.

например: cvs -Q log -h filename


Информация о версии CVS:

введите описание изображения здесь


Я разместил здесь аналогичный вопрос о получении номера версии файла из имени тега. Я так и не получил четкого ответа о том, как это сделать, но мне удалось найти обходной путь, анализируя log вывод со скриптом Perl.

Так как log вывод для ветви не совпадает с номером версии в конце ветви, мое решение сценария Perl здесь не работает.

1 ответ

Решение

Ты должен использовать cvs log -rMyBranch. MyFilename, где MyBranch. ветвь, о которой идет речь, с точкой, добавленной как последний символ, и MyFilename это имя файла в вопросе.

Пример:

cvs log -rTestBranch. TestFile.txt

RCS file: C:\cvsroot/TestRepository/TestFile.txt,v
Working file: TestFile.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
    TestBranch: 1.2.0.2
keyword substitution: kv
total revisions: 4; selected revisions: 1
description:
----------------------------
revision 1.2.2.2
date: 2015/06/08 18:32:52;  author: Codeguard;  state: Exp;  lines: +1 -1;  kopt: kv;  commitid: 117c5575dfce6e9e;  filename: TestFile.txt;
2
=============================================================================

Оттуда вы можете легко разобрать ревизию.

Другие вопросы по тегам