1.2.4. Adding, Renaming, and Deleting Files

Adding a File or Directory

To add an existing file to a Subversion repository and put it under revision control, change to the directory with its working copy and run the following command:
svn add file
Similarly, to add a directory and all files that are in it, type:
svn add directory
This schedules the files and directories for addition to the Subversion repository. To proceed and actually add this content to the repository, run the svn commit command as described in Section 1.2.6, “Committing Changes”.

Example 1.7. Adding a file to a Subversion repository

Imagine that the directory with your working copy of a Subversion repository has the following contents:
project]$ ls
AUTHORS  ChangeLog  doc  INSTALL  LICENSE  Makefile  README  src  TODO
With the exception of ChangeLog, all files and directories within this directory are already under revision control. To schedule this file for addition to the Subversion repository, type:
project]$ svn add ChangeLog
A         ChangeLog

Renaming a File or Directory

To rename an existing file or directory in a Subversion repository, change to the directory with its working copy and run the following command:
svn move old_name new_name
This creates a duplicate of the original file or directory, schedules it for addition, and automatically deletes the original. To proceed and actually rename the content in the Subversion repository, run the svn commit command as described in Section 1.2.6, “Committing Changes”.

Example 1.8. Renaming a file in a Subversion repository

Imagine that the directory with your working copy of a Subversion repository has the following contents:
project]$ ls
AUTHORS  ChangeLog  doc  INSTALL  LICENSE  Makefile  README  src  TODO
All files in this directory are under revision control. To schedule the LICENSE file for renaming to COPYING, type:
project]$ svn move LICENSE COPYING
A         COPYING
D         LICENSE
Note that svn move automatically renames the file in your working copy:
project]$ ls
AUTHORS  ChangeLog  COPYING  doc  INSTALL  Makefile  README  src TODO

Deleting a File or Directory

To remove a file from a Subversion repository, change to the directory with its working copy and run the following command:
svn delete file
Similarly, to remove a directory and all files that are in it, type:
svn delete directory
This schedules the files and directories for removal from the Subversion repository. To proceed and actually remove this content from the repository, run the svn commit command as described in Section 1.2.6, “Committing Changes”.

Example 1.9. Deleting a file from a Subversion repository

Imagine that the directory with your working copy of a Subversion repository has the following contents:
project]$ ls
AUTHORS  ChangeLog  COPYING  doc  INSTALL  Makefile  README  src TODO
All files in this directory are under revision control. To schedule the TODO file for removal from the SVN repository, type:
project]$ svn delete TODO
D         TODO
Note that svn delete automatically deletes the file from your working copy:
project]$ ls
AUTHORS  ChangeLog  COPYING  doc  INSTALL  Makefile  README  src