CVS コマンドの log と rlog はどちらも、ファイルの個々のリビジョンのコミット識別子を示します。この識別子を使用して情報を取得する CVS コマンドについては知りませんが、単一のコミット内のすべてのファイルが同じ識別子を共有していることは確認できます。
commit-id を使用して、単一のコミットの影響を受けるファイルをグループ化する独自のログ ファイル パーサーがあります (たとえば、変更履歴は日付でソートされ、ファイルは単一のコミットにグループ化されます)。
リンクを読んだら、おそらく「log -r @commit-id」のようなものを指定して、コミット識別子を共有する影響を受けるファイルのリストを取得できます。コマンド ラインにはさらに調整が加えられている可能性がありますが、次の例ではある程度の成功が得られます (少しうるさいです)。
c:\> cvs -q log -N "-r @fd049d34574117b"
=============================================================================
RCS file: /folder/file.xml,v
Working file: folder/file.xml
head: 1.3
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 1
description:
=============================================================================
RCS file: /folder/file2.xml,v
Working file: /folder/file2.xml
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 2; selected revisions: 0
description:
=============================================================================
最初のファイルには、コミットがファイルのバージョンに対応することを意味する「選択されたリビジョン: 1」が含まれていることに注意してください。
- おそらく正規表現を使用して、「選択されたリビジョン: 0」エントリ (一連の「===============」で区切られた複数行の reg) を除外することができます。
- 次に、結果の「作業ファイル」エントリのみを抽出して、ファイル リストを作成します。
独自のツールを使いたくない場合は、"cvs changeset" を探してみてください: