特定のチェンジセットで変更されたすべてのファイルをどのように判別できますか?
この場合、差分を探しているのではなく、追加/削除/変更のリストだけを探しています。
hg log -vprX
差分のリストを作成しますが、ファイルが必要です。
変更されたファイルのみを一覧表示する場合は、「ステータスコマンド」を使用する必要があります。以下は、リビジョンREVのファイルへの変更を一覧表示します。
hg status --change REV
p
から削除するだけhg log -vpr
で、ファイルのリストが表示されます。-p
パッチを表示することを意味します。テンプレートを使用して、出力を好みに合わせてフォーマットすることもできます。
hg status --change .
.
@HEAD
Gitと同じように、現在のリビジョンの省略形です
hg status
hg status --change REV_ID
質問は単一のチェンジセットに関するものですが、さまざまなチェンジセット用にすべてのファイルを変更したい場合は、次のことができます。
hg status --rev 1 --rev 10 -m
同様の概念については、グーグルでこの質問を見つけました。さまざまなチェンジセットで変更されたすべてのファイルを表示するには、次のように簡単に実行できます。
hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n"
[startrev]から[endrev]まで、各チェンジセットで変更または追加された各ファイルのリストが表示され、各チェンジセットのファイルは新しい行に表示されます。と交換{file_mods}{file_adds}
し{files}
て、変更、追加、または削除されたすべてのファイルを表示します。sed -e 's/ /\n/g'
すべてのファイルを分割して別々の行に表示し、sort
えーと、リストを並べ替えて、uniqでリストをフィルタリングできるようにしますuniq
リストをフィルタリングして、重複(複数のリビジョンで変更されたファイル)を削除します。私はこの質問が古い質問であることを知っています、そして私は誰もOPから修正されたコードを提供しただけではないことに驚いています。を実行するだけで、変更/追加/削除されたファイルのリストを取得しました(どちらがどちらであるかはラベル付けされていません)hg log -v
。hg log -v -l5
または、最後の5つのコミットで変更/追加/削除されたファイル(まだリポジトリにプッシュしていないファイルを含む)を確認するために実際に必要なもの。
ほとんどのショップと同じように、チケットシステムを使用して変更を追跡します。チケット番号がわかっていて、そのチケットに関連付けられているすべてのコミットを検索する場合(コミットメッセージにチケット番号を含めると仮定)、次を使用できます。
hg log -k TICKET_NUMBER
これにより、チケットに関連付けられているすべてのリビジョンが表示されます。ただし、ファイルは一覧表示されません。上記の回答のいずれかを使用して、リビジョンに関連付けられているファイルのリストを取得できます。
ただし、簡単にするために、以前の回答の情報を組み合わせて、変更されたファイルを含め、コミットを検索するために次の操作を行うことができます。
hg log -vk TICKET_NUMBER