Revisions

The internal revision number that CVS keeps for each file is unrelated to the version number of the sofrware product of which the files are part. BFor marketing purpose, you may call a software version 2, but this doesn't affect CVS revision, which is invisible to user. Thus, for most of users, you don't have to worry about revison control.
If one wants to keep track of a set of revisions involving more than one file, such as which revisions went into a particular release, one uses a tag, which is a symbolic revision which can be assigned to a numeric revision in each file.

Revision numbers

Each version of a file has a unique revision number. Revision numbers usually starts from 1.1.1.1. So, quite often you see numbers like `1.1', `1.2', `1.3.2.2' or even `1.3.2.2.4.5'. A revision number always has an even number of period-separated decimal integers. Each successive revision is given a new number by increasing the rightmost number by one.

The following figure displays a few revisions, with newer revisions to the right.

       +-----+    +-----+    +-----+    +-----+    +-----+
       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
       +-----+    +-----+    +-----+    +-----+    +-----+

It is also possible to end up with numbers containing more than one period, for example `1.3.2.2'. Such revisions represent revisions on branches

Versions, revisions and releases

A file can have several versions, as described above. Likewise, a software product can have several versions. A software product is often given a version number such as `4.1.1'.

Assigning revisions

By default, CVS will assign numeric revisions by leaving the first number the same and incrementing the second number. For example, 1.1, 1.2, 1.3, etc.

When adding a new file, it's revision number will start from 1.1 regardless how high the revision number of other files in that directory.

In most of cases, there is no reason to care about the revision numbers--it is easier to treat them as internal numbers that CVS maintains, and tags provide a better way to distinguish between things like release 1 versus release 2 of your product.

However, if you want to set the numeric revisions, the `-r' option to cvs commit can do that. The `-r' option implies the `-f' option, in the sense that it causes the files to be committed even if they are not modified.

For example, to bring all your files up to revision 3.0 (including those that haven't changed), you might invoke:

$ cvs commit -r 3.0

Note that the number you specify with `-r' must be larger than any existing revision number. That is, if revision 3.0 exists, you cannot `cvs commit -r 1.3'.

Note:

CVS increases the right part of decimal automatically, but not for the left part. The left part decimal number can be incremented by user.  Use '-r' option