Присоединиться к двум версиям истории в CVS (или RCS)?
-
11-07-2019 - |
Вопрос
Я ищу способ объединить две истории изменений для одного файла.
Один из наших проектов отслеживался через RCS. Сейчас этот проект живет в CVS. Первоначально он был задуман как новый проект. В результате история CVS не показывает более старые ревизии, которые были отслежены через RCS.
Например, предположим, что файл foo.c был пересмотрен 10 раз в RCS, а затем 2 раза в CVS. RCS имеет версии с 1.1 по 1.10, а CVS имеет версии 1.1, 1.2 и 1.3. RCS версии 1.10 и CVS версии 1.1 идентичны.
Я пытаюсь создать комбинированную историю, чтобы foo.c показывал 12 версий с 1.1 по 1.12. Поскольку CVS хранит ревизии в том же формате, что и RCS, начинать с существующего файла RCS просто, а затем проверять новые изменения с помощью команды " ci " команда (сохранение меток времени, идентификаторов пользователей и сообщений коммита). Любые теги CVS также должны быть сохранены. Этот новый файл RCS будет иметь полную историю, которую затем можно будет добавить в репозиторий CVS, заменив старую версию.
Предположим, что в этой кодовой базе нет ветвей. Просто прямая разработка.
Такая служебная программа уже существует?
Другие советы
Если это один файл и вам не нужно передавать большое количество ревизий, вы всегда можете извлечь из старой системы управления версиями одну ревизию за раз и зафиксировать ее в новой системе управления версиями (большинство метаданных системы управления версиями могут -существовать в том же каталоге)… этот метод работает, конечно, независимо от того, какая система контроля версий является исходной и целевой, и это то, что я лично сделал, когда у меня возникла проблема, аналогичная вашей.
Или вы можете попробовать Tailor , который может конвертировать из / во многие системы управления версиями, хотя Я действительно не знаю, может ли он также "слить" две разные истории в одной, как вам нужно.