そのようなタグの移動操作は見たことがありませんが、基本的に何かをコピーして元のものを削除しているので、次のようになります。
hg tag --remove stable
hg tag -r newrevisionhash stable
または、バージョン番号など、ある種のサフィックスをタグに追加します。また、リリースを追跡することもできます。
意見 1: 私は常に、Mercurial は履歴を保存することを目的としており、git では何かを変更できるのに対し、Mercurial では代わりに上書きする必要があると考えていました。
意見 2: 安定版リリースをマークする別の方法は、それらを 1 つのブランチに保持することです。私が働いている場所にdefault
は、安定したコードしかありません。他のすべての作業は、分離されたブランチで行われます。
タグを更新するための汚いワンライナー:
current=`hg log -l1 --template '{node}'`; hg tag --remove stable; hg tag -r $current stable
この残虐行為は、次の Mercurial エイリアスとして追加できるようです.hgrc
。
[alias]
movetag=!(current=`hg log -l1 --template '{node}'`; $HG tag --remove stable; $HG tag -r $current stable)
タグの削除/追加はそれ自体がコミットであるため、現在のヒントの値をキャプチャするため、ヒントを「移動」します(タグ付けについて何も問題はありませんtip
-正確さのためだけです)。確かにそれをより美しくする可能性はありますが、それらは私にとってはうまくいきました.