7

我刚开始在 SVN 存储库上对主干进行一些更改,认为它们会有点小。现在,我实际上开始意识到我可能应该刚刚开始一个新分支。与其创建一个分支,然后将每个单独的部分移入其中,有什么方法可以创建一个新分支,然后将我的工作副本中的更改提交给它?

4

3 回答 3

13
  1. 从您开始开发的地方创建一个新分支
  2. 切换到新创建的分支
  3. 提交本地更改(将提交到新分支)

不要做任何检查

我用 svn 1.6.5 来做,它没有问题,但如果你真的很偏执,你可以做以下事情:

  1. 从当前工作副本创建补丁
  2. 创建一个分支
  3. 切换到它
  4. 应用补丁
  5. 犯罪
于 2009-10-03T18:41:32.000 回答
2

从你当前的工作中创建一个补丁svn diff,然后创建一个新的分支,然后将补丁应用到分支上patch -p0呢?

于 2009-10-03T18:42:23.990 回答
2

您可以使用该svn copy命令直接将工作副本的状态分支到 URL。创建的分支将包括本地修改。

一些陷阱:

  • 您可能会收到“文件已存在”之类的错误消息。这是由于工作副本中的基本修订不匹配造成的,更具体地说是文件与其父文件夹之间的不匹配。一种可能的解决方案是svn update在尝试以这种方式分支之前执行。
  • 之后svn copy,工作副本将保持不变。它仍将指向树干。它还将在其状态中显示本地修改。您应该首先恢复这些修改,无论您是继续按原样使用工作副本还是将其切换到新分支。
于 2009-10-04T00:16:54.607 回答