Получение номера ревизии конца ветки в 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
=============================================================================
Оттуда вы можете легко разобрать ревизию.