Я прочитал этот документ: Руководство по ветвлению с Mercurial , в частности, раздел под названием Ветвление с закладками .
Там написано:
Теперь у вас есть две закладки (по сути, тег) для ваших двух веток в текущем наборе изменений.
Чтобы переключиться на одну из этих веток, вы можете использовать hg update feature
, чтобы обновить набор изменений наконечника этой ветки и отметить себя как работающего в этой ветке. Когда вы делаете коммит, он перемещает закладку во вновь созданную ревизию.
Я попробовал это, но в итоге обе закладки одновременно переместились.
Это руководство не так, устарело или я что-то не так сделал? Обратите внимание, что я знаю, что наличие закладок на отдельных ветвях только перемещает закладку, относящуюся к той ветке, над которой я сейчас работаю, но в этом руководстве (которое многие люди называют определенным руководством к этому) конкретно говорится приведенный выше текст, который указывает что это должно сработать, "сообщив" Mercurial, над какой закладкой (веткой) я работаю.
Хотя тестирование показывает иное.
Есть идеи?
Пример:
> hg init
> echo 1 >test.txt
> hg commit -m "initial" --addremove
adding test.txt
> hg bookmark main
> hg bookmark feature
> hg log
changeset: 0:c56ceb49ee20
tag: feature
tag: main
tag: tip
user: Lasse V. Karlsen <lasse@vkarlsen.no>
date: Tue Nov 30 23:06:16 2010 +0100
summary: initial
> hg update feature
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> echo 2 >test2.txt
> hg commit -m "feature 1" --addremove
adding test2.txt
> hg log
changeset: 1:9f2f5869b57b
tag: feature <---- both were moved
tag: main <----
tag: tip
user: Lasse V. Karlsen <lasse@vkarlsen.no>
date: Tue Nov 30 23:06:45 2010 +0100
summary: feature 1
changeset: 0:c56ceb49ee20
user: Lasse V. Karlsen <lasse@vkarlsen.no>
date: Tue Nov 30 23:06:16 2010 +0100
summary: initial