4

有一个文件,我们称之为它fileToBeIgnored,它是在 SVN 中版本化的,不应该是。我知道这svn:ignore只会阻止将文件添加到 SVN 存储库,并且已经版本化的文件将继续获得版本化,无论它们是否匹配模式。我完全可以fileToBeIgnored从 SVN 存储库中删除并将其添加到其目录的svn:ignore属性中。

我的问题是,如果我这样做,当其他用户进行下一次更新时,他们的 SVN 客户端将尝试删除他们的本地副本fileToBeIgnored。我不想要那个;相反,我希望保留每个人当前存在的本地副本。

有没有办法从 SVN 存储库中删除文件,而不会在后续更新时从用户的本地副本中删除?

4

3 回答 3

1

使用删除和属性更改进行提交;那么有两种情况:

  1. 另一个开发人员没有本地更改。他更新了,他的文件被删除了。他可以svn cat将文件的适当修订版重新添加到他的工作副本中。

  2. 另一个开发人员有本地更改。当他更新时,他遇到了树冲突。他可以svn resolve --accept=working fileToBeIgnored解决冲突,然后svn rm --keep-local fileToBeIgnored避免再次将文件添加到版本控制,同时保留他的本地副本。

于 2010-10-08T18:35:48.190 回答
0

有没有办法从 SVN 存储库中删除文件,而不会在后续更新时从用户的本地副本中删除?

我不这么认为。

我要做的是向每个人发送一封邮件,通知他们更改。没有设法保留副本的人总是可以从存储库中获取文件的早期版本。

于 2010-10-08T17:13:38.403 回答
0

将文件移动到其他文件夹。
从 SVN 中删除。
更新。
将文件添加回文件夹。
使用 svn:ignore 提交。

于 2010-10-08T17:18:39.723 回答