5

Mercurial でパッチを作成するプロセスは次のとおりです。

qnew でパッチを作成 -> 変更を加える -> パッチを更新

既に (コミットされていない) 変更を行っていて、それらをキューに追加したい場合はどうすればよいですか?

4

2 に答える 2

3

バージョンによって異なりますが、1.5.1 で変更されたようです。

1.5.1以降

このコマンドは、デフォルトでコミットされていない変更を追加します

qnew は、現在適用されているパッチ (存在する場合) の上に新しいパッチを作成します。パッチは、作業ディレクトリ内の未解決の変更で初期化されます。

1.5.1より前

を使用しますqnew -fドキュメントから:

-f: 作業ディレクトリの内容が変更された場合、新しいパッチを作成します。未処理の変更は新しく作成されたパッチに追加されるため、このコマンドが完了すると、作業ディレクトリは変更されなくなります。

于 2010-10-05T01:15:17.073 に答える
0

実際、パッチプロセスは、コミットされていない変更があるかどうかに関係なく同じように機能します。私はいつも次のようにそれをします:

[... 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は、現在のデフォルトの動作について間違っていることを正しく指摘しています!

于 2010-10-05T06:11:45.240 に答える