SVN:如何将旧的本地代码提交回现有分支?

时间:2018-02-09 10:39:28

标签: svn

我遇到了问题:

  • 我从主干创建了一个分支(svn版本1880)来创建一个发布分支。
  • 由于用户请求,我严重修改了分支,而没有将代码上传到主干。该分支现在是1949年版本。
  • 与主干
  • 相比,工作代码1949有重大修改
  • 工作代码1949已签出给同事的工作区。他正在运行满足其需求的代码。
  • 我使用分支版本1949的代码更新了主干代码,并继续在主干中进行开发。
  • 在某些时候,由于我无法正确处理SVN,我用新的中继代码覆盖(并提交)了发布分支。分支版本现在是2170。
  • 我没有在机器上本地使用2170代码。

但是,我需要再次将分支返回到1949版本。我将相关代码从同事的工作区复制到我的机器上。我可以毫无问题地运行它。

- >如何使用版本1949的本地代码覆盖SVN中的版本2170?

2 个答案:

答案 0 :(得分:1)

你写的不能真正“用版本1949的本地代码覆盖SVN中的版本2170”。
您可以做的是在分支中提交一些修改,以便分支的下一个版本与旧版本1949具有完全相同的内容。您可以通过在分支的工作副本上运行此命令来执行此操作

svn merge -r 2170:1949

然后检查本地修改并提交。这将创建一个新版本(2171或更多),其中分支将具有与旧版本1949相同的内容。

答案 1 :(得分:0)

感谢Laurents的帖子(以Laurent描述的方式对我不起作用),我设法执行以下解决方法:

开始情况:

  • 我的本地工作区中有代码版本1949的本地副本
  • 我在SVN中有版本2170的签入版本

然后我做了以下事情:

  1. 我从SVN检查了2170到本地工作区
  2. 在2170的本地副本中,我删除了所有内容,但隐藏了"。*"
  3. 然后在1949年的本地目录中,我将所有1949代码复制到2170目录
  4. 切换到2170目录
  5. 使用此&#34执行提交;更新"代码 - > SVN版本2171
  6. 我还要做的是手动删除SVN中不必要的2170文件。