svn delete (del, remove, rm) — 从工作副本或版本库删除一个项目。
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.
然而直接删除一个URL,你需要提供一个日志信息:
$ svn delete -m "Deleting file 'yourfile'" \ file:///var/svn/repos/test/yourfile Committed revision 15.
如下是强制删除本地已修改文件的例子:
$ 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 $