SCCS、RCS、CVS、およびその他の初期のバージョン管理システム(およびSRC)では、バージョン管理操作はファイルベースです。つまり、各ファイルは、他のすべてのファイルとは独立した独自のコメントとリビジョン履歴を持ちます。Subversion以降のより新しいシステムはチェンジセットベースです。コミットには複数のファイルへの変更が含まれることがあり、変更の集合全体が一つの単位として扱われます。変更に関連付けられたコメントは、単一のファイルに属するのではなく、チェンジセット自体に属します。
変更セットベースのバージョン管理は、ファイルベースのバージョン管理よりも柔軟で強力です。通常、複数のファイルへの変更を取り消す必要がある場合、それらすべてを容易に特定して削除できると便利です。