Есть ли способ настроить Mercurial для отправки подрепозитория по тому же пути, который указан при отправке его родителя?
Скажем, у нас есть родительский репозиторий с подрепозиторием, а у подрепозитория также есть собственное подрепозиторий:
A
- B
- - C
Теперь в каждом из A, B и C у нас указаны альтернативные пути:
.hg/hgrc
[paths]
default = http://path.to.default/A
devMachine = ssh://[email protected]/A
B .hg/hgrc
[paths]
default = http://path.to.default/B
devMachine = ssh://[email protected]/A/B
C .hg/hgrc
[paths]
default = http://path.to.default/C
devMachine = ssh://[email protected]/A/B/C
Если у меня есть неопубликованные наборы изменений в A, B и C, которые я не хочу отправлять в центральный репозиторий, но я хочу передавать их между моими рабочими и домашними компьютерами разработки, могу ли я каким-либо образом настроить Mercurial таким образом? что, когда я делаю hg push devMachine
, он также подтолкнет B и C к devMachine
, а не подтолкнет A к devMachine
и подтолкнет B и C к default
?
До сих пор я устанавливал фазу новой фиксации на secret
и делал:
$ cd A/B/C
A/B/C$ hg phase -d
A/B/C$ hg push devMachine
A/B/C$ hg phase -sf
A/B/C$ cd ..
A/B$ hg phase -d
A/B$ hg push devMachine
A/B$ hg phase -sf
A/B$ cd ..
A$ hg phase -d
A$ hg push devMachine
A$ hg phase -sf
По понятным причинам это не оптимально. Было бы намного лучше, если бы выполнение A$ hg push devMachine
рекурсивно подтолкнуло бы все вложенные репозитории к пути devMachine
(конечно, учитывая, что он был определен в .hg/hgrc).
Я знаю, что мог бы написать это довольно легко. Мне просто любопытно, есть ли в Mercurial что-то встроенное, что я не смог найти.