Могу ли я разделить хранилище Mercurial?

У меня есть большой репозиторий Mercurial, который я решил, что будет лучше, чем несколько небольших репозиториев. Есть ли способ, которым я могу разделить репозиторий и сохранить каждый кусок своей истории изменений?

3 ответа

Решение

Лучший способ сделать это - использовать расширение "convert". Вы будете использовать Mercurial, а также тип источника и назначения, а затем использовать --filemap с записями вроде:

exclude path/you/do/not/want
rename path/you/do/want .

Переименование необходимо только в том случае, если вы хотите взять части, которые вы храните, и переместить их "выше" в иерархии каталогов.

Я нашел подробное руководство здесь:

Создать карту файлов new-repo.filemap такие как

include vendor/FooBackend
rename vendor/FooBackend .

Создать другую карту файлов rewrite-old-repo.filemap:

exclude vendor/FooBackend

Создайте новый репозиторий:

hg convert /path/to/current/repo /path/to/new/repo --filemap new-repo.filemap

Новый репозиторий завершен. Каталог пуст, но hg update доведет его содержимое до скорости.

Создайте измененный репозиторий:

hg convert /path/to/current/repo /path/to/rewritten/repo --filemap rewrite-old-repo.filemap

Просто клонируйте его и удалите ненужные вещи из каждой копии.

Другие вопросы по тегам