代码之家  ›  专栏  ›  技术社区  ›  alexis

哪些分支是mercurial中特定变更集的祖先?

  •  1
  • alexis  · 技术社区  · 8 年前

    我有一个反复无常的回购,其分支/合并结构相当复杂。某些分支包含不应推送到主回购的本地定制,但此类分支的某些变更集可能已被合并 default 和/或应推动的某些特征分支。

    在我推动某个分支的修订之前,我想知道哪些其他分支(如果有的话)已经贡献了将要进行的变更集。例子:

    feature1 ... o--o--o---o--o--o--o
                  \       /    
    config         x--x--x--x
    

    feature1 ,它还将从分支中引入三个变更集 config .我可以使用 hg outgoing -b branchname destination_repo 属于我指定的命名分支?

    2 回复  |  直到 8 年前
        1
  •  1
  •   planetmaker    8 年前

    只需模板输出 hg outgoing 要(仅)提供您需要的信息:

    hg outgoing -T"{rev}: {branch}\n"
    

    或者,如果您有bash,则将其压缩为一个分支列表(需要tail,因为我们希望忽略与哪个repo进行比较的状态以及它正在搜索更改的状态的行):

    hg outgoing -T"{branch}\n" | tail -n+3 | sort -u
    

    同样适用于 hg incoming --rev XXX --branch BBB

        2
  •  -1
  •   Lalit    8 年前

    https://tortoisehg.bitbucket.io/ 处理这样的事情。 切换到特定分支,并将所做的更改推送到您希望提交的特定分支。


    hg shelve --all --name "UnfinishedChanges"
    
    hg update [-c] [-C] [-d DATE] [[-r] REV]
    
    aliases: up, checkout, co
    
    update working directory (or switch revisions)
    
    hg unshelve --name "UnfinishedChanges"

    最后,提交和pust只需要更改。它将只在您已更新工作目录的所需分支中推送该功能。

    推荐文章