In CVS, revision numbers are per-file. This is because CVS stores its data in RCS files; each file has a corresponding RCS file in the repository, and the repository is roughly laid out according to the structure of your project tree.
In Subversion, the repository looks like a single filesystem. Each commit results in an entirely new filesystem tree; in essence, the repository is an array of trees. Each of these trees is labeled with a single revision number. When someone talks about б╚revision 54б╩, they're talking about a particular tree (and indirectly, the way the filesystem looked after the 54th commit).
Technically, it's not valid to talk about б╚revision 5
of foo.c
б╩. Instead, one would say
б╚foo.c
as it appears in revision
5б╩. Also, be careful when making assumptions about the
evolution of a file. In CVS, revisions 5 and 6 of
foo.c
are always different. In Subversion,
it's most likely that foo.c
did
not change between revisions 5 and
6.
For more details on this topic, see б╚п÷я─п╟п╡п╨п╦б╩.