2009-06-07 3 views

ответ

14

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

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

5

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

Я также нашел mail from Patrick Mézard по этому вопросу, но, к сожалению, он пишет, что конвертер VSS будет сложным. Он также говорит о преобразовании в Subversion сначала, а затем из Subversion в Mercurial. Я предполагаю, что это означает, что VSS -> SVN преобразуется там. Вы, вероятно, можете сами это сделать.

6

Я использовал скрипт vss2hg.pl от here. Это Perl-скрипт, поэтому сначала нужно установить ActivePerl.

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

+2

Я сделал некоторые исправления для скрипта. Вы можете скачать его [здесь] (http://edmundv.home.xs4all.nl/sw/vss2hg.pl). – Edmund

+0

Похоже, что большинство опубликованных ссылок на vss2hg.pl не работают. Можете ли вы внести исправления или перенаправить, если это необходимо? Я обнаружил после некоторых проб и ошибок, что старая версия сценария (связанная с http://mercurial.selenic.com/wiki/SourceSafeConversion) доступна по адресу http://mercurial.selenic.com/wiki/SourceSafeConversion? action = AttachFile & do = view & target = vss2hg.pl, и доступна более новая версия (но не опубликована нигде, кроме результатов поиска Google), из http://edmundv.home.xs4all.nl/sw/vss2hg.pl – BlueMonkMN

13

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

Доступна версия сценария here.

+0

веб-сайт больше не выглядит как – lstanczyk

+0

Используйте версию, связанную с @Edmund ниже; он сохраняет это сейчас, когда мы пинали привычку VSS. – trojanfoe

0

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

+3

Возможно, вам повезло, если вы попросите об этом как о собственном вопросе. –

3

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

Смежные вопросы