This documentation was written to describe the 1.6.x series of Subversion. If you are running a different version of Subversion, you are strongly encouraged to visit http://www.svnbook.com/ and instead consult the version of this documentation appropriate for your version of Subversion.
svn delete (del, remove, rm) — Delete an item from a working copy or the repository.
Items specified by PATH
are
scheduled for deletion upon the next commit. Files (and
directories that have not been committed) are immediately
removed from the working copy unless the
--keep-local
option is given. The
command will not remove any unversioned or modified items;
use the --force
option to override this
behavior.
Items specified by URL are deleted from the repository via an immediate commit. Multiple URLs are committed atomically.
--editor-cmd CMD --encoding ENC --file (-F) FILENAME --force --force-log --keep-local --message (-m) MESSAGE --quiet (-q) --targets FILENAME --with-revprop ARG
Using svn to delete a file from your working copy deletes your local copy of the file, but it merely schedules the file to be deleted from the repository. When you commit, the file is deleted in the repository.
$ svn delete myfile D myfile $ svn commit -m "Deleted file 'myfile'." Deleting myfile Transmitting file data . Committed revision 14.
Deleting a URL, however, is immediate, so you have to supply a log message:
$ svn delete -m "Deleting file 'yourfile'" \ file:///var/svn/repos/test/yourfile Committed revision 15.
Here's an example of how to force deletion of a file that has local mods:
$ svn delete over-there svn: Attempting restricted operation for modified resource svn: Use --force to override this restriction svn: 'over-there' has local modifications $ svn delete --force over-there D over-there
Use the --keep-local
option to
override the default svn delete
behavior of also removing the target file that was
scheduled for versioned deletion. This is helpful when
you realize that you've accidentally committed the
addition of a file that you need to keep around in your
working copy, but which shouldn't have been added to
version control.
$ svn delete --keep-local conf/program.conf D conf/program.conf $ svn commit -m "Remove accidentally-added configuration file." Deleting conf/program.conf Transmitting file data . Committed revision 21. $ svn status ? conf/program.conf $