Присоединиться к двум версиям истории в CVS (или RCS)?

StackOverflow https://stackoverflow.com/questions/1223341

  •  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, заменив старую версию.

Предположим, что в этой кодовой базе нет ветвей. Просто прямая разработка.

Такая служебная программа уже существует?

Это было полезно?

Решение

Я только что написал библиотеку Python, EditRCS ( PyPi ) для работы с файлами RCS. Пример сценария rcs_join присоединяет первую ревизию одного файла RCS к заголовку другого и обновляет ветки и ревизии тегов.

Надеюсь, это делает то, что вы хотите (хотя, возможно, сейчас слишком поздно!)

Другие советы

Если это один файл и вам не нужно передавать большое количество ревизий, вы всегда можете извлечь из старой системы управления версиями одну ревизию за раз и зафиксировать ее в новой системе управления версиями (большинство метаданных системы управления версиями могут -существовать в том же каталоге)… этот метод работает, конечно, независимо от того, какая система контроля версий является исходной и целевой, и это то, что я лично сделал, когда у меня возникла проблема, аналогичная вашей.

Или вы можете попробовать Tailor , который может конвертировать из / во многие системы управления версиями, хотя Я действительно не знаю, может ли он также "слить" две разные истории в одной, как вам нужно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top