102

特定のチェンジセットで変更されたすべてのファイルをどのように判別できますか?

この場合、差分を探しているのではなく、追加/削除/変更のリストだけを探しています。

hg log -vprX差分のリストを作成しますが、ファイルが必要です。

4

7 に答える 7

153

変更されたファイルのみを一覧表示する場合は、「ステータスコマンド」を使用する必要があります。以下は、リビジョンREVのファイルへの変更を一覧表示します。

hg status --change REV
于 2010-09-24T17:27:16.423 に答える
16

pから削除するだけhg log -vprで、ファイルのリストが表示されます。-pパッチを表示することを意味します。テンプレートを使用して、出力を好みに合わせてフォーマットすることもできます。

于 2010-09-24T18:44:23.553 に答える
16

現在コミットされているリビジョン

hg status --change .

.@HEADGitと同じように、現在のリビジョンの省略形です

現在のコミットされていないリビジョン

hg status

任意のコミットされた改訂

hg status --change REV_ID
于 2018-05-15T17:27:34.610 に答える
13

質問は単一のチェンジセットに関するものですが、さまざまなチェンジセット用にすべてのファイルを変更したい場合は、次のことができます。

hg status --rev 1 --rev 10 -m
于 2012-10-31T20:15:08.750 に答える
2

同様の概念については、グーグルでこの質問を見つけました。さまざまなチェンジセットで変更されたすべてのファイルを表示するには、次のように簡単に実行できます。

hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
  1. hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n"[startrev]から[endrev]まで、各チェンジセットで変更または追加された各ファイルのリストが表示され、各チェンジセットのファイルは新しい行に表示されます。と交換{file_mods}{file_adds}{files}て、変更、追加、または削除されたすべてのファイルを表示します。
  2. sed -e 's/ /\n/g'すべてのファイルを分割して別々の行に表示し、
  3. sortえーと、リストを並べ替えて、uniqでリストをフィルタリングできるようにします
  4. uniqリストをフィルタリングして、重複(複数のリビジョンで変更されたファイル)を削除します。
于 2014-11-01T20:16:23.497 に答える
1

私はこの質問が古い質問であることを知っています、そして私は誰もOPから修正されたコードを提供しただけではないことに驚いています。を実行するだけで、変更/追加/削除されたファイルのリストを取得しました(どちらがどちらであるかはラベル付けされていません)hg log -vhg log -v -l5または、最後の5つのコミットで変更/追加/削除されたファイル(まだリポジトリにプッシュしていないファイルを含む)を確認するために実際に必要なもの。

于 2016-12-21T14:39:08.007 に答える
-2

ほとんどのショップと同じように、チケットシステムを使用して変更を追跡します。チケット番号がわかっていて、そのチケットに関連付けられているすべてのコミットを検索する場合(コミットメッセージにチケット番号を含めると仮定)、次を使用できます。

hg log -k TICKET_NUMBER

これにより、チケットに関連付けられているすべてのリビジョンが表示されます。ただし、ファイルは一覧表示されません。上記の回答のいずれかを使用して、リビジョンに関連付けられているファイルのリストを取得できます。

ただし、簡単にするために、以前の回答の情報を組み合わせて、変更されたファイルを含め、コミットを検索するために次の操作を行うことができます。

hg log -vk TICKET_NUMBER
于 2015-07-21T14:33:14.480 に答える