Пометка только под-репозитория
У меня есть главный репозиторий Mercurial с одним под-репозиторием, например так:
Main
.hg
.hgsub
.hgsubstate
<some_regular_files_and_subdirs>
Sub
.hg
<some_regular_files_and_subdirs>
И я хочу пометить Sub
только, сохраняя Main/.hgsubstate
актуальный (т. е. указать на набор изменений Sub
в результате процесса пометки).
Я не хочу отмечать основной репозиторий.
Это возможно без пометки изнутри Sub
и сделать немного магии, чтобы получить Main/.hgsubstate
до настоящего времени?
2 ответа
При обновлении вложенных репозиториев вам всегда нужно выполнить фиксацию в основном репо, чтобы начать использовать эту ревизию вложенных репо. Следовательно, вы не можете делать то, что вы хотите, от самого подпункта, вам придется войти в основной репо и выполнить там одну команду.
из командной строки:
(navigate to subrepo directory)
> hg tag <tagName>
(navigate to main repo directory)
> hg commit -m "updating to subrepo tag <tagName>"
После того, как вы создали тег subrepo и обновили subrepo к этому тегу, выполнив коммит с верхнего уровня (то есть: Main
) следует обновить .hgsubstate
и не требует от вас пометить Main
Сделки РЕПО. Фактически, изменение ревизии любого подотчета должно вызвать изменение в файле.hgsubstate, которое может быть зафиксировано в основном репо без тега.
Что-то вроде ниже?
hg -R Sub tag tagname
hg -R Sub commit -m "Comitting tag"