切换工作副本目录而不更新

时间:2012-01-05 20:13:00

标签: svn switch-statement working-copy

场景:存储库结构已从 / trunk / 更改为 / projectName / trunk / ,并且本地副本已过时且有很多修改

问题:如何在不更新文件的情况下更新工作副本目录路径。

通常,同一存储库中目录更改的解决方案是使用 svn switch 命令。问题是它在执行时执行更新,工作副本已过时,并且有许多本地修改会与当前版本冲突。

我正在寻找的是 - relocate 开关的相同行为,它会更新路径但不会更新文件。通过这种方式,我可以重新获得能够分别检查每个文件的状态和差异,同时保持本地副本的功能(这是我主要考虑的问题)。

开关--help 提供了一些处理冲突的参数,但我找不到任何可以完全阻止更新的参数。

有什么想法吗?非常感谢。

1 个答案:

答案 0 :(得分:9)

这个特殊情况的解决方案比我想象的要简单。

svn switch 默认执行存储库中最新修订的更新,指定工作副本的BASE修订版(从存储库获取的最新修订版),保留大部分文件不变

我通过发出 svn info 命令得到了我的工作副本(294)的BASE版本。

然后只发出带有BASE修订版的switch命令,更新了存储库路径,使大多数文件保持不变。

svn switch -r 294 /projectName/trunk/