SVN快速合并

SVN快速合并,svn,merge,commit,mergeinfo,Svn,Merge,Commit,Mergeinfo,我正在寻找一个非常常见但在最后一分钟被忽略的动作,SVN合并 理想情况下,它应该为当前用户运行,并以您的名义进行最近2天的提交。因此,在处理分支的场景中,运行此脚本将合并对主干的更改并启动提交对话框,以便在提交之前进行验证 我们的分支策略允许使用trunk-branch1-branch1.1,因此您将从末尾开始合并到trunk 考虑到我们有大量的开发人员,我不是在寻找银弹,而是寻找能够促进开发过程的东西 我查看了svn命令(mergeinfo),但不确定如何应用“按用户”过滤器 非常感谢我真的不

我正在寻找一个非常常见但在最后一分钟被忽略的动作,SVN合并

理想情况下,它应该为当前用户运行,并以您的名义进行最近2天的提交。因此,在处理分支的场景中,运行此脚本将合并对主干的更改并启动提交对话框,以便在提交之前进行验证

我们的分支策略允许使用trunk-branch1-branch1.1,因此您将从末尾开始合并到trunk

考虑到我们有大量的开发人员,我不是在寻找银弹,而是寻找能够促进开发过程的东西

我查看了svn命令(mergeinfo),但不确定如何应用“按用户”过滤器


非常感谢

我真的不明白您为什么要尝试按用户合并。老实说,你似乎让你的生活变得更加艰难。首先,像这样合并一个用户很可能会产生冲突,在我看来,这破坏了编写合并脚本的整个目的

但是您可以使用
svn mergeinfo--show revs qualified^/branchs/mybranch^/trunk
来查找适合合并回分支机构主干的revs。然后在每个修订版上运行
svn log-r$REV
,忽略不在正确日期范围或用户范围内的修订版。然后合并这些提交。当1.9出现时,
mergeinfo
将有
--xml
--log
选项。因此,您可以将这两个步骤组合成一个命令,并使用XSLT为您执行过滤,类似于我在中给出的答案:

综上所述,您应该只使用
svn merge--reintegrate^/branchs/mybranch
,其中当前目录是trunk的最新未修改工作副本,它将合并来自分支的所有更改。如果您使用的是1.8,那么您可以取消
--reintegrate
选项。这样做可以减少冲突


如果有嵌套的分支,则必须合并所有分支才能到达主干。因此,如果您有一个名为branch1 off trunk和branch1.1 off branch1的分支,那么您需要在从trunk合并回来之前从branch1.1重新整合到branch1。

为什么不使用cherry pick或“complete”形式的普通
svn merge
?你已经试过什么了?