Пометка только под-репозитория

У меня есть главный репозиторий 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"
Другие вопросы по тегам