场景:存储库结构从/trunk/更改为/projectName/trunk/并且本地副本已过时并且有很多修改。
问题:如何在不更新文件的情况下更新工作副本目录路径。
通常,同一存储库中目录更改的解决方案是使用 svn switch 命令。问题是它在执行时执行更新,工作副本已经过时并且有很多本地修改会与当前版本冲突。
我正在寻找的是 --relocate 开关的相同行为,它更新路径但不更新文件。通过这种方式,我可以重新获得分别检查每个文件的状态和差异的能力,同时保持本地复制功能(这是我的主要关注点)。
开关 --help 提供了一些处理冲突的参数,但我找不到任何可以完全停止更新的参数。
有任何想法吗?非常感谢。
最佳答案
这个特殊情况的解决方案比我想象的要简单。svn switch
默认情况下对存储库中的最新修订执行更新,指定工作副本的 BASE 修订版(从存储库获得的最后一个修订版)使大部分文件保持不变。
我通过发出 svn info
获得了我的工作副本 (294) 的 BASE 修订版。命令。
然后只需发出带有 BASE 修订版的 switch 命令即可更新存储库路径,而大多数文件保持不变。svn switch -r 294 /projectName/trunk/
关于svn - 切换工作副本目录而不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749103/