有一个文件,我们称之为fileToBeIgnored
,它是在SVN中版本化的,不应该是。我知道svn:ignore
只能阻止向SVN存储库添加文件,并且已经版本化的文件将继续获得版本化,无论它们是否与模式匹配。我完全可以从SVN存储库中删除fileToBeIgnored
并将其添加到其目录的svn:ignore
属性中。
我的问题是,如果我这样做,当其他用户进行下一次更新时,他们的SVN客户端将尝试删除其fileToBeIgnored
的本地副本。我不想那样;相反,我希望保留每个人当前存在的本地副本。
有没有办法从SVN存储库中删除文件,而不会在后续更新时从用户的本地副本中删除?
答案 0 :(得分:1)
使用delete和属性更改进行提交;然后有两种情况:
另一个开发者没有本地更改。他更新了,他的文件被删除了。他可以svn cat
再次对文件进行适当的修改。
另一个开发者有本地更改。当他更新时,他会发生树冲突。他可以svn resolve --accept=working fileToBeIgnored
解决冲突,然后svn rm --keep-local fileToBeIgnored
以避免再次将文件添加到版本控制中,同时保留其本地副本。
答案 1 :(得分:0)
有没有办法从SVN存储库中删除文件,而不会在后续更新时从用户的本地副本中删除?
我不这么认为。
我要做的是向所有人发送邮件,通知他们这一变化。无法将副本保留在一边的人总是可以从存储库中获取该文件的早期版本。
答案 2 :(得分:0)
将文件移动到其他文件夹
从SVN中删除。
更新。
将文件添加回文件夹
用svn提交:忽略。