我需要澄清一下"svn switch"的行为.我正在使用SVN版本1.6.5.
通过阅读手册,我对行为的理解是将保留本地更改.所以我希望在我的工作目录中仍然存在本地添加的文件svn switch.
但是,我和我的同事已经看到了交换机删除新文件的几个实例.不幸的是,我们无法弄清楚如何重现这一点.
是否有某些情况(功能或已知错误)svn switch删除本地添加的文件?
Iva*_*tov 11
当你有未提交的更改时,我认为切换是个坏主意.首先,使用svn cp . <branch URL>,然后切换将本地更改提交到分支.否则可能会遇到非常棘手的情况.
想象一下,在您切换到的版本中,您在本地添加的文件已经存在,并且完全不同.或者,如果您添加了一个完整的文件目录,而这些文件无法与您要切换到的版本中的文件充分合并,该怎么办?你真的想要那场大冲突吗?
显示的是"S"状态svn status,这意味着源树的不同部分具有不同的版本.当SVN在切换期间与本地更改混淆时,它恰好发生.它只是在开关中间被打破,然后颈部疼痛恢复.好几次发生在我身上.这就是为什么我总是确保我的工作副本在运行之前没有本地修改svn sw.
它不应删除本地添加的文件或未版本控制的文件.边缘情况是交换机移动或移除目录的位置,但在这种情况下应该存在树冲突.
如果我认为可能存在树冲突,我经常做的就是保存当前更改的补丁.然后我知道我可以清除我的工作副本,并在必要时重新开始,而不会丢失我的工作.
svn diff > ../somewhere/safe/save.diff
# Break stuff
patch -p0 < ../somewhere/safe/save.diff
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9371 次 |
| 最近记录: |