Разделение подпапок репозитория SVN на отдельные репозитории Mercurial приводит к ошибке «abort: ожидаемый транк будет в« trunk / module1 », но не найден» - PullRequest
2 голосов
/ 05 января 2012

У меня есть репозиторий SVN со структурой, подобной этой:

/ филиал
/ теги
/ транк
/ trunk / module1
/ trunk / module2
/ trunk/ module3

Я пытаюсь разделить это на отдельные репозитории Mercurial, где каждое новое репозиторий Mercurial сохраняет историю ревизий файлов этого модуля.Конечный результат будет

/ module1-hg
/ module2-hg
/ module3-hg

Основано на этом руководстве (http://wiki.colar.net/selectively_converting_subversion_repository_to_mercurial),
Я пытался использовать

hg --config convert.svn.trunk=trunk/module1 convert https://repo.url/ module1-hg

, но это приводит к следующей ошибке:

abort: expected trunk to be at 'trunk/module1', but not found

Я могу преобразовать весь репозиторий SVN, но я бы очень хотел разделить модули на этом этапе.Я чувствую, что просто не могу найти хороший пример синтаксиса, чтобы разделить их. Кто-нибудь может помочь?

1 Ответ

3 голосов
/ 05 января 2012

Я недавно сделал это, но сделал это в несколько шагов.

Во-первых, я превратил весь репо в зеркало репозитория SVN. Я использовал расширение hgsubversion для этого, но если вы сделали это, используя расширение convert, тогда все в порядке.

На втором этапе я разделил репозитории. Я использовал расширение convert с файловой картой, чтобы исключить некоторые папки и переименовать другие.

Например:

hg convert bigrepo module1-hg --filemap module1.txt

И module1.txt будет содержать следующее:

exclude module2
exclude module3
rename module1 .

Это создаст хранилище с именем module1-hg, исключая модули 2 и 3. Это также приведет к перемещению источника module1 в корень хранилища вместо подкаталога.

Затем можно повторить действие для модулей 2 и 3 с аналогичными файлами файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...