Answers:
您需要--keep-local
命令行选项。这将从版本控制中删除文件,而不会从文件系统中删除它。
$ svn rm --keep-local my_important_file
注:该--keep-local
只影响svn rm
您的副本。其他用户可能会删除自己的文件本地副本,除非他们的本地副本和存储库之间由于他们所做的更改而发生冲突。这可能不是理想的结果。请参阅下面的评论。
从SVN删除文件而不在本地无处删除是一个常见问题。一个突出的示例是Eclipse项目中的.classpath文件。只要项目中使用的所有计算机都具有相同的Eclipse和Java安装,将配置文件放在SVN下就非常了不起。一旦违反此条件,则提交会开始破坏其他Eclipse项目。这就是必须从SVN删除文件而不删除ist的要点。
svn rm --keep-local .classpath
在那个时间点在一台机器上完美地完成了工作。
问题是其他计算机可能会丢失该文件(更新时)或将其复活(提交时)。SVN的缺陷既不能--keep-local
在存储库中处理,也不能传播到其他工作副本。因此,必须在上述所有其他机器上执行命令-最好在任何提交或更新之前执行。
当然,这最多可以工作90%。删除和重新版本化会突然发生。我的解决方案是让每台机器都可以直接或间接访问
svn rm --keep-local .classpath
copy .classpath .classpath-nameOfTheMachine
svn add .classpath-nameOfTheMachine
这太丑陋了,很难被称为“解决方案”。尽管如此,它始终允许对以后发生的任何事故进行快速维修。