Подтвердить что ты не робот

Переход от Visual Sourcesafe к Mercurial

Какой лучший способ переместить репозиторий Visual Sourcesafe в Mercurial (я заинтересован в сохранении всей истории)?

4b9b3361

Ответ 1

Пока я не сделал это конкретное преобразование, я перешел от VSS к SVN, используя (IIRC) этот script. Вы, вероятно, захотите изучить портного и выполнить поиск vss2hg. Также имейте в виду, что имеет смысл пройти промежуточный шаг, например vss2svn + svn2hg или аналогичный.

Основной совет, который я бы дал, это: script преобразование, чтобы вы могли легко запустить его. Это позволит вам запускать ночные конверсии с VSS на Hg и убедиться, что все правильно преобразуется, прежде чем вы нажимаете на него триггер.

Ответ 2

Я являюсь автором vss2hg.pl script и использовал его для перемещения многих проектов из VSS в Mercurial. У него есть одна или две незначительные ошибки, когда некоторые комментарии не полностью конвертированы, но я не видел никаких других проблем. Он преобразует полную историю и работает вокруг проблемы с VSS, где пользовательские часы ПК могут влиять на порядок, в котором изменения появляются.

Версия script доступна здесь.

Ответ 3

Я использовал vss2hg.pl script из здесь. Это Perl script, поэтому сначала нужно установить ActivePerl.

Он отлично поработал, но у меня возникла проблема с датами. Оказывается, script поддерживает три типа форматов даты. По умолчанию он установлен в формате даты Великобритании (в строке 547). Остальные два формата даты закомментированы в коде. После включения формата даты в США script без проблем преобразовала мою базу данных SourceSafe.

Ответ 4

В этой статье есть страница Mercurial, которая может представлять интерес: https://www.mercurial-scm.org/wiki/SourceSafeConversion. Я никогда не использовал Visual source safe, поэтому у меня нет личного опыта с ним.

Я также нашел почту от Патрика Мезара о предмете, но, к сожалению, он пишет, что конвертер VSS будет сложным. Он также говорит о преобразовании в Subversion сначала, а затем из Subversion в Mercurial. Я предполагаю, что это означает, что VSS → SVN преобразуется там. Вы, вероятно, можете сами это сделать.

Ответ 5

Я сделал конверсию из SourceSafe в Mercurial для клиента. Сначала я преобразовал базу данных SourceSafe в репозиторий Subversion, а затем из Subversion в Mercurial, используя расширение hg convert. Подробнее см. мое сообщение в блоге.

Ответ 6

Я просто попытался использовать vss2hg и столкнулся с проблемой, что он только подбирает и конвертирует 1 пользователя. Это означает, что все мои изменения и т.д. Не будут точными, поскольку я не смогу увидеть, кто их сделал. Это потому, что я не предварительно настроил всех требуемых пользователей в hg?