【问题标题】:Switch working copy directory without updating切换工作副本目录而不更新
【发布时间】:2012-02-03 16:00:33
【问题描述】:

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

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

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

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

switch --help 提供了一些参数来处理冲突,但我找不到可以完全停止更新的东西。

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

【问题讨论】:

  • 您有时必须处理这些冲突。而且你等待的时间越长,冲突就越多,解决它们就越困难。我会尽快切换。
  • 我同意,这个特定场景的问题是我们使用存储库中的文件作为模型应用程序,在不同位置复制本地更改。存储库中的结构更改会影响所有位置,因此需要尽量减少冲突。

标签: svn switch-statement working-copy


【解决方案1】:

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

svn switch 默认情况下对存储库中的最新修订进行更新,指定工作副本的 BASE 修订(从存储库获得的最后修订),使大部分文件保持不变。

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

然后,只需发出带有 BASE 修订版的 switch 命令即可更新存储库路径,而大部分文件保持不变。

svn switch -r 294 /projectName/trunk/

【讨论】:

  • 这种方法并没有让我的文件保持原样。它实际上切换到该位置并使用该特定版本和位置的任何内容更新了我的工作区
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
相关资源
最近更新 更多