"hg rollback" のガード機能
TokyoMercurial #1 で話題になった件の詳細シリーズ - その1。
ちなみに、TokyoMercurial #1 開催日の 01/14 から随分時間が経っているのは、決して忘れていたとかではなく、なんとか 2.1 版リリースに間に合わせようと case insensitive filesystem 対応の修正を頑張っていたため。
もっとも 01/19 時点でリリースに向けたコード凍結宣言が出てしまったので、結局修正は間に合わなかったのだけれど .... まぁ、影響範囲が思った以上に広いので、ボチボチ行くとするか。
で、"hg rollback" のガード機能の話。
今更ではあるかもしれないが、"hg rollback" の機能を再確認しておくと、『直前に追加記録された履歴情報を、管理領域から破棄する』というもの。
ちなみに一見同じような『やりなおし』的ニュアンスを持つ "hg revert" の機能は、『特定時点 (※ 通常は親リビジョン時点) の内容で、作業領域中のファイルの内容を上書きする』というもので、履歴情報への影響の有無の点で見れば、両者は全く異なる機能であることがわかる。
"hg rollback" の破棄対象となる『履歴情報の追加記録』を行うのは、以下のコマンド群:
- commit
- import
- unbundle
- pull