【问题标题】:One branch per developer: how do you acheive that with SVN?每个开发人员一个分支:您如何使用 SVN 实现这一目标?
【发布时间】:2011-05-17 21:45:29
【问题描述】:

我们正处于从源代码控制 Clearcase 到 SVN 的过渡中,我们在 svn 中找不到与在 Clearcase 中类似的工作流程。

在 Clearcase 中,我们有一个完成构建的集成视图。每个开发人员也有自己的“开发人员视图”,用于完成开发。定期(当某些工作项目完成时),来自开发视图的代码被传递到集成视图中。然后两个视图同步在一起,我们很高兴。在这种情况下,“开发者视图”可以使用多年。

我们尝试使用分支在 SVN 中实现相同的工作流程,但我们遇到了以下问题:

  1. 如果如 svn 文档中所述,我们 使用 --reintegrate 标志,我们的分支变得无用,需要 重新创建。不实用, 尤其是在使用 Eclipse 时(我们会 不想重新创建我们的工作区 甚至删除“旧”项目 因为启动配置是 丢失的)。
  2. 如果我们在没有它的情况下合并 选项,我们最终,很少提交/合并 后来有了各种意想不到的 诸如“局部障碍、 合并时的传入添加”即使 文件只添加了一次。

所以我的问题是我们如何才能让每个开发人员拥有一个分支?如果不可能,您如何使用 Eclipse、SVN 和分支。最后一件事,我们希望保持树干的原始状态,所以直接在树干中工作不是和选项:-)

感谢您的洞察力,

-马丁

【问题讨论】:

  • 为什么要开发一个分支?如果您的团队中有 20 名开发人员会怎样?您花了多少时间来合并来自多个不同分支的所有更改?你的做法听起来不是很好?
  • 另见stackoverflow.com/questions/1567135/clearcase-issue/…“每个开发人员一个分支”主题;)
  • @fmucar:每个开发人员一个分支允许他们“独立”地处理他们的东西,然后在完成后将代码合并到主(主干)中。在开发人员在主干中交付其内容后,主干和开发分支应该是相同的。每个开发者负责做他们自己的合并(trunk->dev,然后是 dev->trunk)。它可以很好地扩展并且不是很耗时。有人可能会争辩说,为每个错误/工作分配创建一个分支也很耗时(而且 Eclipse 简直就是地狱)。
  • @VonC:我理解那里描述的情况。在 Clearcase 中,我们每个开发人员都有一个视图(作为解决方案建议),这是我尝试在 SVN 中重现的那种工作流程(到目前为止没有成功:合并问题)。
  • @Marin:对于使用 ClearCase UCM(和/或基本 ClearCase)的每个开发人员,您将始终拥有一个视图。但是所有这些视图可以在每个开发工作中引用一个 Stream 或几个 Stream,而不需要每个开发人员一个 Stream。每个开发人员的一个视图将在 SVN 中转换为每个开发人员一个工作区。

标签: eclipse svn tortoisesvn


【解决方案1】:

一般来说,每个开发人员一个分支是不受欢迎的,而且绝对不是 SVN 中推荐的流程。在像 Git、Hg 这样的 DVCS 中,开发人员可以在本地分支上工作,而且这样的分支很便宜。或许你可以考虑使用git-svn,甚至改用 Git / Hg 并减少痛苦的合并。

【讨论】:

  • 我开始明白我想要实现的不是推荐的方式,但我想知道它是否至少是可能的,好像是,我该怎么做。我应该如何合并分支和/或在合并后如何按摩它们以避免后续合并中的冲突。
猜你喜欢
  • 2021-11-13
  • 1970-01-01
  • 2019-09-07
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
  • 2018-07-29
  • 2012-01-29
  • 2011-01-06
相关资源
最近更新 更多