Инструмент контроля версий, совместимый с другими инструментами контроля версий

Мы начинаем пересматривать программное обеспечение для контроля версий, которое будет использоваться в нашей компании. Мы выбрали ClearCase около 15 лет назад, а Subversion — шесть лет назад, поэтому у нас есть некоторые среды с VOB ClearCase, использующие графический интерфейс ClearCase, и более поздние среды, использующие репозитории Subversion и некоторые графические интерфейсы, такие как TortoiseSVN.

Со временем некоторые проекты приложили усилия для перехода с ClearCase на Subversion, но у нас все еще есть несколько проектов, продолжающих придерживаться ClearCase, потому что это сработало.

Git кажется популярным выбором среди многих людей в наши дни, но мне интересно, можем ли мы разделить проблему на две или три подзадачи:

  • Выберите один единственный внутренний инструмент управления версиями (например, Git) для размещения только репозиториев.
  • При необходимости выберите один или несколько инструментов контроля версий (например, Git, git-svn, git-hg, git-cc, GitSwarm), которые команды будут использовать для взаимодействия с серверными репозиториями, или разрешите командам выбирать свои собственные инструменты.
  • Выберите графический или веб-интерфейс (например, TortoiseGit, Stash, SourceTree) для взаимодействия с выбранными инструментами контроля версий или позвольте командам выбирать свои собственные инструменты.

Это появилось после того, как мы прочитали следующее о двойных репозиториях, позволяющих различным командам продолжать следовать своему текущему рабочему процессу, пока они не будут готовы перейти на Git или что-то еще, на что мы в конечном итоге решим перейти:

Серверный инструмент контроля версий должен:

  • Иметь небольшую стоимость лицензирования или вообще не платить за нее.
  • Поддержка репозиториев Windows и Linux/UNIX, а также клиентов.
  • В идеале должна быть совместима с устаревшими продуктами ClearCase и Subversion, чтобы команды могли продолжать использовать эти продукты до тех пор, пока они не решат мигрировать.
  • Обеспечивает высокую производительность, поэтому операции не замедляются больше, чем в настоящее время с репозиториями ClearCase VOB и Subversion.
  • Храните данные репозитория в открытом формате, а не в проприетарном контейнере, чтобы мы могли легко перенести репозитории на другой инструмент через 5-15 лет, если это потребуется.

Если это можно сделать и рекомендуется, то есть ли подходящие репозитории с контролем версий, которые мы можем начать изучать и сравнивать?

Я сомневаюсь, что какая-либо система контроля версий использует стандартный формат. До сих пор я видел Subversion, Git и Mercurial, и каждый из них использует собственный формат. В любом случае вы можете просто использовать интероперабельность, чтобы скопировать всю историю проекта в другую систему позже.
Git и Bazaar отлично взаимодействуют с SVN и практически со всеми другими системами контроля версий.
@ Алехандро, ты, вероятно, имеешь в виду пользовательский формат. Ни один из этих форматов не является проприетарным. Кроме того, такие инструменты, как reposurgeon и другие, установили формат git-fast-import в качестве квазистандарта. Но обычно требуется много усилий, чтобы сделать его двусторонним (за исключением Git и его моста Subversion).

Ответы (1)

Git предлагает такую ​​функциональность с SVN. По сути, он предлагает двунаправленный поток между репозиторием Git и репозиторием SVN, а также различные команды для управления этим соединением.