SVN:在Eclipse中同步分支与主干?

Dyl*_*lan 5 eclipse svn merge subversive synchronize

我有一个SVN分支和一个主干.主干定期更改,而分支则不定.

每隔一段时间(假设每周一次)我想用最新的主干更新来更新分支的本地工作副本.

理想情况下,我希望以与使用最新版本的分支相同的方式执行此操作:使用Eclipse:Team-> Synchronize,因此我可以在更新之前查看所有更改.

这也可以使用不同的存储库(例如:trunk)吗?如果没有,人们如何在更新之前审查更改?

我查看了Team-> Merge,但这似乎直接将更改更新到我的工作副本,而没有可能首先检查更改(预览功能令人困惑,我认为,并没有提供好的副作用同步的变化/冲突的侧视图).

Mar*_*ard 6

合适的方法是使用Merge.Subclipse包含一个合并客户端,使这很容易做到.你是对的,它没有给你一个真正的预览,但它的工作方式从Subversion的角度来看更好."合并结果"视图UI与"同步"视图基本相同.它允许您轻松检查合并在工作副本中所做的每个更改以及它打开的Eclipse比较编辑器,这样可以很容易地在提交之前删除代码中不需要的任何更改部分.

尝试从"同步"视图执行此操作的问题在于,您正在使用代码编辑器自行进行合并,而Subversion无法了解合并的内容.如果你让Subversion首先进行合并,那么它可以正确地更新它的所有元数据,然后你可以在提交合并结果之前将代码修改为你想要的方式.

  • 你觉得它以什么方式破坏你的工作副本?您通常不应合并到具有未提交修改的工作副本中.如果您不喜欢合并的结果,则会有一个"撤消"选项,可以将您的工作副本恢复原样.使用"还原"选项可以轻松删除单个更改.我觉得很奇怪,有人会想要审查每一个变化,而不是让工具为他们工作,然后审查它做了什么. (2认同)

omn*_*nom 0

我会将分支和主干作为单独的 Eclipse 项目检出到工作区中。然后使用一些合并工具,例如meld来合并它们之间的更改。合并后,您可以在 Eclipse 中刷新分支并将其与 svn 存储库同步 - 现在您可以查看所有更改。(这就是我的做法,因为我不相信 svn eclipse 插件;))