【问题标题】:Unable to merge new file from trunk to my branch无法将新文件从主干合并到我的分支
【发布时间】:2011-01-29 12:47:02
【问题描述】:

这是我的步骤:

  1. 从主干切换到我的分支
  2. 执行从trunks 子目录到我的分支子目录的合并,即 svn 合并 https:.../trunk/Class@2209 https:...branches/mybranch/Class@HEAD /Users/me/.../Class

我得到的回应: --- 将存储库 URL 之间的差异合并到“/Users/me/.../Class”中: C /Users/me/.../Class/NewFileYouDoNotHave.php 冲突总结: 树冲突:1

修订版 2209 与将 NewFileYouDoNotHave.php 添加到主干的修订版相同。我知道我想要以前的版本。但是,以前的主干版本比分支的最新版本旧。 (所以我猜有人更新了分支并且没有包含我的文件)。

为了纠正这个问题,我读到冲突可能源于 svn 对哪些文件在哪个修订版中的混淆。所以我删除了 NewFileYouDoNotHave.php 并将其提交到主干。然后添加它并将其提交回主干。我切换到我的分支并再次执行合并,但我仍然得到相同的结果。

根据我上周的经验,我知道如果我切换回主干(现在我在分支中),Subclipse 将断开与 svn 的连接。我将无法再通过 Subclipse GUI 访问 Team 菜单项和执行 svn 命令,但我仍然可以在终端中运行 svn 命令。

技能:菜鸟
SVN:svn,版本 1.6.5 (r38866)
子剪辑:1.0.6

我非常感谢任何建议、见解等!!!!

【问题讨论】:

  • 根据我对 Eclipse & svn 和非平凡操作的经验,我总是发现我需要关闭 Eclipse,通过 Tortoise 做我需要做的事情(假设 Windows 由于你的 URL)和然后重新启动 Eclipse 并刷新。并不是说这对您的特定问题有帮助,但记住这一点很好。
  • 啊,当我切换回主干时,这可能有助于 Subclipse 不丢弃 svn

标签: svn subclipse conflict


【解决方案1】:

合并时你需要在你想要合并到的代码库的工作副本中(分支)然后从 Trunk 版本 2209 合并到 Trunk Head 到你的工作副本。

换句话说,您正在合并从 v:2209 到主干代码头部到您的分支的更改。

[编辑] 合并时,您应该记住您合并的代码是来自一个分支的一系列更改。因此,您希望从分支中将主干中的 2209 更改为 2221。选择分支作为工作副本,从 Trunk @ 2209 合并并合并到 Trunk 2221。这将抓取主干中的更改 2209 到 2221,并将它们合并到作为您的工作副本的分支中。

【讨论】:

  • 是的,当所有这些命令都被执行时,我就在分支中。有什么特别表明我不是吗?
  • 对,我明白了。试试这个 - svn merge [trunk][from version] [trunk][to version] [branch working copy dir]
  • 谢谢corn3lius!你是对的,我误解了 SVN 的语法。现在我可以继续我的生活了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
相关资源
最近更新 更多