如何使svn update命令自动用服务器上的版本替换本地同名的但尚未加入版本控制的文件

举例如下:
我的本地workcopy文件夹里有一个未加入版本控制的文件abc.txt,别人向版本库中增加了文件abc.txt,我用命令(svn up)的方式更新workcopy时,更新失败,原因是我的本地有一个同名的abc.txt文件。虽然svn up可以带一个参数--force,但这会使用版本库的文件和本地的自动合并。我想要的效果是自动用版本库的文件替换本地这个存在的文件。

这个技术上好像很难实现,我原本想用钩子实现,但发现svn的钩子里没有pre-update的钩子

或者可以换个思路,为什么一定要自动覆盖呢?这是一种存在风险的操作啊,如果本地新建的文件是含有有效工作成果的,将导致这些工作成果的丢失。我们是否可以从操作流程的角度来改进呢?正常的操作就应该是:更新--更新失败--解决冲突--重新更新(或提交)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-14
这个技术上好像很难实现,我原本想用钩子实现,但发现svn的钩子里没有pre-update的钩子

或者可以换个思路,为什么一定要自动覆盖呢?这是一种存在风险的操作啊,如果本地新建的文件是含有有效工作成果的,将导致这些工作成果的丢失。我们是否可以从操作流程的角度来改进呢?正常的操作就应该是:更新--更新失败--解决冲突--重新更新(或提交)
第2个回答  2010-12-12
出现这问题的原因,就是服务器中的数据与你本机副本的数据产生了冲突,更新就失败了。

SVN本身的机制也是这样要求的,你严格按照操作标准执行,就不会有错了。
第3个回答  2019-04-29
如果本地修改不想提交或者想要替换服务上的版本,直接删除本地文件,然后重新更新
这个有一个需要注意一下,就是本地代码彻底删除了,所以如果觉得有用,建议先备份
相似回答