Да. Используйте расширение convert для перемещения projectA вниз на один уровень каталога:
hg convert --filemap filemap.txt projectA projectA-redone
, где ваш filemap.txt
содержит эту строку:
rename . projectA
(эта точка может быть косой чертой, но я так не думаю).
Это даст вам новый репозиторий, projectA-redone, который имеет всю историю A, хотя все наборы изменений будут иметь разные хэши, так как их содержимое (пути) изменилось, чтобы получить «projectA» перед всеми ними.
Затем вы идете в Super-Project_B и делаете hg pull -f /path/to/projectA-redone
. Вам нужен -f
, потому что в противном случае вам скажут, что репозитории не связаны, поскольку у них нет общих наборов изменений.
Наконец, вы сделаете hg merge
в Super_project_b, который не должен иметь конфликтов (если только у вас не было каталога projectA, в этом случае вы должны были выбрать другое имя или hg remove
сначала его). *
После этого у B будет все A внутри подкаталога projectA, и вся история останется нетронутой.