Как я могу вернуть весь проект к более раннему тегу в CVS?

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

Мне нужно отменить все эти изменения и восстановить проект на прежнем уровне. Я создал тег, прежде чем делать все это, но я не уверен, как я могу восстановить весь проект из тега

1 ответ

К сожалению, в CVS это не очень хорошо.

Я не верю, что вы можете потерять историю вашего большого коммита (*), скорее, вы хотите зафиксировать обратную свои первоначальные изменения (а revert в терминологии некоторых СКМ).

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

  • Сделайте два рабочих места проверенными. Один проверен на ветке /HEAD, а другой - на вашем теге.
  • Создайте списки файлов в каждой рабочей области и сделайте соответствующие различия (не cvs diffПросто регулярно diff или же comm или все, что вы хотите для этого), чтобы получить три списка: файлы, которые вам теперь нужно добавить и удалить.
  • Сделайте некоторые различия, чтобы узнать, какие файлы вам нужно изменить.
  • cvs add файлы, которые нужно добавить. (Не уверен если -kb необходимо при повторном добавлении файла, вероятно, нет, но я не уверен.)
  • cvs rm файлы, которые нужно удалить.
  • Скопируйте те, которые нуждаются в модификации и cvs commit -R их все сразу.

Если у вас есть файл журнала, который содержит детали вашего исходного большого коммита, вы также можете использовать его для создания списка команд добавления / удаления / изменения.

(*) Ну, вы могли бы, вероятно, по одному использовать cvs admin удалить новые версии файлов, но я не думаю, что это целесообразно вообще.

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