Чтобы отменить ревизию одного файла, используйте cvs admin -o
.
Для получения подробной информации см. Документацию CVS (info cvs
, если вы работаете в Unix-подобной системе) или см. эта ссылка .
Цитата из руководства:
`-oRANGE'
Deletes ("outdates") the revisions given by RANGE.
Note that this command can be quite dangerous unless you know
_exactly_ what you are doing (for example see the warnings below
about how the REV1:REV2 syntax is confusing).
If you are short on disc this option might help you. But think
twice before using it--there is no way short of restoring the
latest backup to undo this command! If you delete different
revisions than you planned, either due to carelessness or (heaven
forbid) a CVS bug, there is no opportunity to correct the error
before the revisions are deleted. It probably would be a good
idea to experiment on a copy of the repository first.
Затем он дает несколько способов указать ревизию или диапазон ревизий для удаления.
Как говорится, это может быть довольно опасно;он стирает информацию из репозитория, что обычно является именно тем, что пытается предотвратить любая система контроля версий.
Если вам не нужно изменять историю, как это, просто возьмите копию более старой версии и зарегистрируйте ее впомимо плохой ревизии, как предполагает ответ Дейва М.
И вы правы, CVS делает упор на отдельные файлы;более современные системы имеют тенденцию подчеркивать состояние всего хранилища.
Пока все это позволяет обрабатывать только один файл за раз.
Но вы можете проверить весь модуль какуказанной даты в отдельный каталог (cvs checkout -D date
), затем скопируйте файлы поверх текущей копии модуля и проверьте все. Если вы сделаете это, обязательно выполните команду «cvs diff», чтобы вы точно знали, чтоизменения, которые вы делаете.
Я не знаю хорошего способа получить более краткую информацию журнала.cvs log
без аргументов выдает журнал для каждого файла, а не в хронологическом порядке.cvs log filename
предоставляет вам журнал для указанного файла, но не связывает его с другими файлами, которые могли быть изменены одновременно.Лично я мог бы написать сценарий Perl, который собирает информацию, напечатанную cvs log
, и реорганизует ее для отображения, но это, вероятно, больше работы, чем вам интересно.
Существуют инструменты для импорта репозиториев CVSв нечто более современное.