из Subversion в Mercurial
Есть желание перенести один проект из Subversion в Mercurial, но возникли сложности технического характера. Поясняю. В базе лежат три проекта. Вернее, это один проект для нескольких платформ. Назовем их px, py и pz. Каждый из этих проектов состоит из нескольких компонент (папок). Некоторые компоненты одинаковые, a некоторые отличаются. Примерно так:
px: a, b, x
py: a, c, y
pz: b, c, z
Дерево рисовать не стал, думаю и так понятно. Одинаковые компоненты для разных проектов лежат совершенно отдельно, в результате чего можно менять любой проект, не боясь, что другой слетит.
Пропагейшн работает примерно так: Когда возникает необходимость сделать багфикс или имплементировать новую фичу, то берется любой или конкретный проект, и там делаются изменения. Скажем, меняем компоненту b в проекте px. Изменения тестируются, делается, тэг проекта для данной платформы и релиз. Позже обновленная компонента распространяется на остальные проекты. Например, старая b из pz заменяется на новую b из px путем копии. То есть, компоненты не мержатся, а именно копируются. В результате, в истории pz видно какая компонента (папка) откуда скопирована и почему что было поменяно вплоть до последнего файла.
Внимание, вопрос! Как достичь чего-то подобного в Mercurial? В частности, как там увидеть историю изменения файлов и историю копирования папок?