Moving and renaming directories

The normal way to rename or move a directory is to rename or move each file within it as described in the section called “The old way to Rename”. Then check out with the -P option, as described in the section called “Removing directories”.

If you really want to hack the repository to rename or delete a directory in the repository, you can do it like this:

  1. Inform everyone who has a checked out copy of the directory that the directory will be renamed. They should commit all their changes, and remove their working copies, before you take the steps below.

  2. Rename the directory inside the repository.

    $ cd $CVSROOT/parent-dir
    $ mv old-dir new-dir
  3. Fix the cvsnt administrative files, if necessary (for instance if you renamed an entire module).

  4. Tell everyone that they can check out again and continue working.

If someone had a working copy the cvsnt commands will cease to work for him, until he removes the directory that disappeared inside the repository.

It is almost always better to move the files in the directory instead of moving the directory. If you move the directory you are unlikely to be able to retrieve old releases correctly, since they probably depend on the name of the directories.