Могу ли я разделить хранилище 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
Просто клонируйте его и удалите ненужные вещи из каждой копии.