Лучший способ сделать это - преобразовать весь репозиторий из CVS в Mercurial, а затем использовать команду hg convert
с --filemap
, чтобы преобразовать это одно хранилище Mercurial в несколько хранилищ Mercurial.).Ваша файловая карта будет выглядеть примерно так:
include SubProject1
rename SubProject1 .
Это отбросит все, чего нет в подпроекте 1, а затем переместит подпроект один наверх (обратите внимание на конечную точку).запустите его с файловой картой для каждого из ваших подпроектов, каждый раз с полным репо в качестве входных данных, вы получите именно то, что вам нужно.
Некоторые люди создали сценарии оболочки для этого, но еслиэто действительно только 3 из них, это должно быть довольно быстро.