Mercurial:查看分支与默认值合并的频率

时间:2011-06-14 17:45:17

标签: mercurial

我们说我有两个分支,默认和mybranch,我想写一个小脚本来看:

  1. mybranch与默认值合并的频率(更改从mybranch更改为默认值)
  2. mybranch与默认值合并的频率(更改从默认值变为mybranch)
  3. #1的一些伪代码:

        m_lastmergetime = 0
        for each m in [all merges with default from mybranch]
            m_mergetime = m.date_in_hours
            m_timebetweenmerges = m_mergetime - m_lastmergetime
            if m_lastmergetime > 0
                print m_timebetweenmerges
    

    Sub.steps:

    1. Mercurial查询,该查询匹配默认情况下mybranch
    2. 的所有合并
    3. Mercurial的样式,以小时显示日期
    4. 使用Bash或Python
    5. 计算合并之间的时间,如上面的伪代码

      案例#2非常相似。我只需要:

      1. Mercurial查询,它匹配默认情况下与mybranch的所有合并

1 个答案:

答案 0 :(得分:7)

要查找从分支Y合并的分支X上的所有变更集,您将发出以下Mercurial命令:

hg log --rev "children(branch(X)) and children(branch(Y)) and branch(X)"

要查找从分支X合并的分支Y上的所有内容(即相反的方向),只需将最后一个分支名称更改为Y:

hg log --rev "children(branch(X)) and children(branch(Y)) and branch(Y)"
                              ^                       ^              ^
                              +------ leave these ----+              |
                                                                     |
                                      but change this ---------------+

基本上,查询说你想要所有的变更集:

  • 是分支X
  • 上任何变更集的子项
  • 也是分支Y上任何变更集的子项(只有合并变更集有两个父项,因此可以同时成为两个分支上变更集的子项)
  • on 分支Y(因此您将合并到分支Y)