Go to the first, previous, next, last section, table of contents.

## Copying the history file

This way also involves direct modifications to the repository. It is safe, but not without drawbacks.

    # Copy the RCS file inside the repository
    $ cd $CVSROOT/module
    $ cp old,v new,v
    # Remove the old file
    $ cd ~/module
    $ rm old
    $ cvs remove old
    $ cvs commit old
    # Remove all tags from new
    $ cvs update new
    $ cvs log new             # Remember the non-branch tag names
    $ cvs tag -d tag1 new
    $ cvs tag -d tag2 new
    ...

By removing the tags you will be able to check out old revisions of the module.

Advantages:

- Checking out old revisions works correctly, as long as you use ``-rtag'` and not ``-Ddate'` to retrieve the revisions.
- The log of changes is maintained intact.
- The revision numbers are not affected.

Disadvantages:

- You cannot easily see the history of the file across the rename.
- Unless you use the ``-r rev'` (see section commit options) flag when new is committed its revision numbers will start at 1.0 again.

Go to the first, previous, next, last section, table of contents.