If you wish to delete a version-controlled file, use the command M-x vc-delete-file. This prompts for the file name, and deletes it via the version control system. The file is removed from the working tree, and in the VC Directory buffer (see VC Directory Mode), it is displayed with the ‘removed’ status. When you commit it, the deletion takes effect in the repository.
To rename a version-controlled file, type M-x vc-rename-file. This prompts for two arguments: the name of the file you wish to rename, and the new name; then it performs the renaming via the version control system. The renaming takes effect immediately in the working tree, and takes effect in the repository when you commit the renamed file.
On modern version control systems that have built-in support for
renaming, the renamed file retains the full change history of the
original file. On CVS and older version control systems, the
vc-rename-file
command actually works by creating a copy of the
old file under the new name, registering it, and deleting the old
file. In this case, the change history is not preserved.