dan*_*nny 23 svn version-control
之前已经提出过这个问题的变化,但似乎没有提到令其他团队成员感到不安的问题.在现有帖子中(请参阅如何"取消"svn和/或git中的文件),接受的答案通常是运行svn rm FILE或svn rm --keep-local FILE,然后svn:ignore根据需要设置属性.我花了最后20分钟玩这个(在两个地方检查一个回购,从一个删除一个文件,然后更新另一个,等等).这是我发现的(我正在使用SVN 1.6.16):
首先,从我所知道的--keep-local标志不会影响将要从存储库更新的其他所有人发生的事情.对于他们来说,它看起来就像你刚刚做了一个常规的svn delete(没有一个我见过的明确提到的subversion文档 - 也许很明显你还在做一个svn delete操作而且"保持本地"只会影响事物在当地方面,但对我来说并不一定明显).
因此有两种情况 - 1.团队成员A删除团队成员B没有本地修改的文件或2.团队成员A删除团队成员B 确实具有未提交的本地更改的文件.
在1中,删除发生后B的文件已被删除.他现在必须自己恢复它(svn merge -rHEAD:XXX FILE; svn revert FILE即将FILE的XXX版本恢复到工作目录中并且在下一次提交时不再重新提交)
在2中,B在更新时看到树冲突,并且FILE现在具有 A + C在其下面具有消息"本地编辑,在更新时传入删除"的状态.在这一点上,我不确定推荐的解决方案是什么.我做的是将FILE复制到其他地方,只是为了安全,然后运行svn revert FILE.它最终是不必要的,因为FILE在工作目录中仍然存在未版本化,所有本地修改都保持不变.但是我不知道我有多信任这个,因为我已经svn revert在其他场景中删除了我未提交的更改.
TL;博士:是不是真的,只有到联合国版本的方式在SVN文件是从每个人的其他工作目录的团队将其删除,并让他们找回自己的情况?我使用--keep-local错误,还是错过了另一个类似的选项?
您必须将要删除的所有文件添加到忽略列表中(使用TortoiseSVN轻松 - >使用删除并添加到忽略列表选项)并提交.
现在做删除.
另一种选择是执行svndumpfilter,如下所述:如何从svn版本中删除文件而不从每个工作副本中删除它?
| 归档时间: |
|
| 查看次数: |
18400 次 |
| 最近记录: |