Вот ты где:
cvs rlog -b YourModuleName 2>/dev/null |sed '$bd;/^RCS file:/{:d;x;s/\n/\t/g;s/revision[.0-9\t ]*revision //;s/\trevision.*$//;n};/^revision/H;d'
Для файла, который имеет только одну ревизию, он напечатает его имя, но не ревизию.
У меня есть проект, который использует CVS и недавно поднял базовую линию до следующей основной версии, 4.0. То, что я пытаюсь сделать, это получить последнюю версию файла перед этим ударом (программно, я знаю, что могу проверить файл в редакторе).
Например, если у меня есть следующая пара файлов с версиями, я хочу получить то, что находится после стрелки (=>):
makefile ... 3.4, 3.5, 4.0 => 3.5 main.cc ... 3.9. 3.10, 4.0, 4.1 => 3.10
Вот ты где:
cvs rlog -b YourModuleName 2>/dev/null |sed '$bd;/^RCS file:/{:d;x;s/\n/\t/g;s/revision[.0-9\t ]*revision //;s/\trevision.*$//;n};/^revision/H;d'
Для файла, который имеет только одну ревизию, он напечатает его имя, но не ревизию.