コミットされていない変更をマーキュリアルキューを備えた新しいパッチに追加する
-
27-09-2019 - |
質問
Mercurialでパッチを作成するプロセスは次のとおりです。
QNewを使用してパッチを作成 - >変更 - >パッチを更新します
すでに(コミットされていない)変更を加えて、それらをキューに追加したい場合はどうなりますか?
解決
バージョンに依存し、1.5.1で変更されたようです。
1.5.1以降
コマンドは、デフォルトでコミットされていない変更を追加します
QNewは、現在適用されているパッチの上に新しいパッチを作成します(ある場合)。パッチは、作業ディレクトリの未解決の変更で初期化されます。
1.5.1より前
あなたは使いたいです qnew -f
. 。から ドキュメント:
-F:作業ディレクトリの内容が変更されている場合、新しいパッチを作成します。発行済みの変更は新しく作成されたパッチに追加されるため、このコマンドが完了すると、作業ディレクトリは変更されなくなります。
他のヒント
実際、パッチプロセスは、コミットされていない変更があるかどうかに関係なく同じように機能します。私はいつも次のようにそれをします:
[... make changes ...]
hg qnew -m "foo bar changes" foobar.patch
--> new empty patch at top of queue
hg qrefresh
--> this adds all diffs from 'hg diff' into the current top patch
編集:@CaseBashは、現在のデフォルトの動作について私が間違っていることを正しく指摘しました!
所属していません StackOverflow