Mercurial tips

Чтобы сплитнуть репозитарий или, например, вытащить какую-нибудь поддиректорию в корень нового репозитария в делаем:

  • hg init new_repo

    В этой же директории где лежит и старый репозитарий old_repo, который требуется разделить.

  • Создаем файл filemap.txt, в котором задаем те директории, которые надо включить в новый репозитарий:
    exclude “*”
    rename “subdir” “.”
    include “subdir”

    Т.е. игнорируем все файлы из old_repo, переименовываем subdir в “.”, чтобы эта директория стала корнем new_repo и включаем ее в копирование

  • Выполняем команду:
    hg convert –filemap filemap.txt old_repo/ new_repo/
  • cd new_repo && hg update

Собственна все, далее можно из old_repo удалять subdir:

cd old_repo && hg remove subdir

Posted on 11 July '08 by spoof, under devel. No Comments.