2011-03-28 31 views
5

我们发布了1.0版本并继续在trunk中开发2.0。我们为与发布的版本相关的bug修复创建了分支/ 1.0。我可以使用Subversion合并跟踪从分支到树干重复合并吗?

计划是:

  • 2.0开发继续在树干/
  • 主干/包含了新的功能,是不是要合并到分支/ 1.0,因此干线未合并到分支/ 1.0以往
  • 在发布的应用程序中发现错误时,将修复分支/ 1.0。当修复组被释放到生产,分公司/ 1.0被复制到标签/ 1.0.x的,和分支/ 1.0合并到主干/
  • 想法是,颠覆合并跟踪应该保持的变化轨迹,这样,当我们合并1.0.4修复了树干,1.0.3修补程序是自动跳过

是否有使用这种方法的任何问题?颠覆合并跟踪会跟踪更改吗?我还没有在实践中尝试过,大多数例子都是这样做的(从trunk到branch,我不想这么做,因为大多数2.0版本的开发并不需要1.0修复)。不知何故,合并 - 重新融入合适吗?

回答

6

是的,这正是它是专为。由于trunk上的svn:mergeinfo属性正在跟踪从1.0版本中修复的哪些修补程序已合并回来,因此第二次运行合并不会导致它再次获取这些修订版本。

预合并跟踪,你必须保持跟踪你合并哪个版本的,并确保你不要试图将它们合并第二次。现在合并脚本更清洁。

+0

在这种情况下,我不会做SVN不断合并--reintegrate,这是正确的? – user449236 2011-03-29 10:48:48

+0

如果你不想要,你不需要。 svn:mergeinfo在正常合并期间仍然会被填充。重新整合是为了一次完成整个分支。合并跟踪应该仍然知道什么时候项目已经被合并,并防止双合并同一项目的冲突。 – 2011-03-29 13:59:37

+1

请记住,在合并不再开发的分支(如完成的功能分支)时,应仅使用重新合并合并。将修补程序从修补程序移植到中继时,请使用“合并修订版本”选项。 – 2011-03-30 19:59:57

相关问题