Отчет об истории изменений и статусах отдельных файлов становится немного сложнее, когда речь идет о подпунктах Hg.
История изменений
История ревизий вложенного репозитория не видна из родительского репозитория. Это имеет смысл, когда вы думаете об этом, потому что каждый подпункт буквально является отдельным репозиторием - на самом деле нет хорошего способа наложения двух отдельных историй, и при этом эта информация не будет очень полезной. Из командной строки вам нужно будет перейти в каждый каталог subrepo и выполнить hg log
, чтобы увидеть историю. В TortoiseHg 2.X.X, в представлении коммит , вы можете дважды щелкнуть по чему-либо, помеченному S
, чтобы открыть этот подпункт в графическом интерфейсе TortoiseHg.
Локальные модификации
Локальные изменения в подпунктах можно увидеть из родительского репозитория, но не обязательно таким же образом для каждой команды. Например, если у меня есть репозиторий, который выглядит следующим образом (где sub
является подпунктом):
/project
|
----> foo.c
|
----> sub/
|
----> bar.c
|
----> more.c
Если я изменю как bar.c, так и foo.c, а затем выполню hg status
из командной строки, я увижу следующее:
> hg status
M foo.c
Но если я добавлю аргумент subrepo -S
, я бы увидел:
> hg status -S
M foo.c
M sub/bar.c
Если я использую TortoiseHg v2.X.X, он пометит foo.c как измененный и пометит sub
как измененный, но мне нужно будет дважды щелкнуть вложенный репозиторий, чтобы просмотреть текущие изменения файла.
Примечания к конверсии:
С точки зрения выполнения самого преобразования - ознакомьтесь с расширением convert репозиторий . Если вы выполняете однократное преобразование, а затем отказываетесь от репозитория SVN, вероятно, это все, что вам нужно. Если вы собираетесь попробовать работать между SVN и HG, у вас, вероятно, возникнет еще несколько проблем.
В прошлом я успешно справлялся с наложением репозитория Hg поверх существующего репозитория. Однако я не уверен, что это сработает для SVN и Hg.