将工作副本切换到分支而不提交到原始位置

时间:2012-01-05 17:43:01

标签: svn tortoisesvn branch switch-statement working-copy

我对SVN有一点问题:

我在工作副本中添加了一些新文件夹和文件,并希望将这些新元素提交给开发人员分支,而不是文件夹结构隐含的实际位置。

使用TortoiseSVN,我执行了“分支/标记...”,并在“从以下位置创建存储库中的副本”组中指定了“工作副本”选项。元素已经提交到分支位置,但不幸的是,我无法将我的工作副本切换到这个新分支,因为尚未完成对真实位置的提交。我的目的是进一步提交开发人员分支,最后将分支与主干合并。

有解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:2)

可能的解决方案之一是:

  1. 将您的工作保存到补丁文件:svn diff > my-work.patch
  2. 在其他地方结帐新分行
  3. 使用patch -p0 -i my-work.patch
  4. 将您的工作应用于该分支
  5. 提交工作

答案 1 :(得分:0)

这是一种方法。

  1. 备份您的项目。例如,将文件夹复制到外部硬盘驱动器。
  2. 标记(svn副本)不包含更改的最高项目修订。您尚未提交的主干(或分支)的尖端。这将是服务器端副本,即URL的URL。
  3. 分支(svn copy)相同的未提交项目修订版。服务器端再次复制。
  4. 将(svn开关)切换到新分支。
  5. 运行svn info确认您的工作副本文件夹实际上指向新分支。
  6. 致力于新分支。
  7. 现在,您在更改之前会有一个修订标记,一个已经提交了最新更改的分支,并且主干将保留在您的工作副本修改之前,即等同于标记的修订版本