Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 按修改时间对hg分支排序_Mercurial - Fatal编程技术网

Mercurial 按修改时间对hg分支排序

Mercurial 按修改时间对hg分支排序,mercurial,Mercurial,在清理git中的分支时,我一直在使用类似的方法来区分旧的/非活动的和新的/活动的分支 在Mercurial中,如何根据修改时间对所有分支进行排序?分支的概念在Mercurial和Git中的差异足以让这变得有点棘手。取决于你真正想要的是什么,它可能会变得完全微不足道 从hg heads开始,它显示了所有头部。有关头部的定义,请参见hg帮助头部。每个头部都是一个提交,因此: 有身份证; 在一个特定的分支中;1及 有日期戳。 它在您的存储库中还有一个本地修订号,它不一定与具有相同提交的某些克隆中的修订

在清理git中的分支时,我一直在使用类似的方法来区分旧的/非活动的和新的/活动的分支


在Mercurial中,如何根据修改时间对所有分支进行排序?

分支的概念在Mercurial和Git中的差异足以让这变得有点棘手。取决于你真正想要的是什么,它可能会变得完全微不足道

从hg heads开始,它显示了所有头部。有关头部的定义,请参见hg帮助头部。每个头部都是一个提交,因此:

有身份证; 在一个特定的分支中;1及 有日期戳。 它在您的存储库中还有一个本地修订号,它不一定与具有相同提交的某些克隆中的修订号匹配。即:

$ hg heads
changeset:   5:5f5df3fc4f1c
某些克隆中的变更集5f5df3fc4f1c可能是4:5f5df3fc4f1c或100:5f5df3fc4f1c或类似的。冒号前面的数字是本地修订号

现在,提交的日期取决于创建提交的机器,因此它们可能会大错特错。当您向Mercurial存储库添加提交时,本地修订号会按顺序分配,但如果本地修订号较高,则意味着您会在稍后引入提交。警告:如果您刚刚从一个旧的、非活动的、但从未合并过的克隆中引入新的提交,那么这可能比实际的提交要晚很多

从这个意义上讲,hg头的输出(默认情况下以本地数字的相反顺序显示)已经按照您可能想要的顺序或相反的顺序显示。稍后打印的内容不太活跃。因此,除了读取hg磁头的输出并检查某个分支中是否有多个磁头之外,这里可能没有其他工作要做

1这与Git的不同之处在于,在Git中,提示提交是指某些ref/heads/name指向的提交。该提示定义了分支,但提交可以在多个分支中!tip必须是Mercurial意义上的头,2但只能有一个这样的头,因为分支的名称定位并定义了头/tip提交,每个名称只标识一个提交

2除非,也就是说,您指的是hg heads-topo,在这种情况下,由refs/heads/name标识的Git提交可能根本不是head:

...--o--*   <-- refs/heads/midpoint
         \
          o--●   <-- refs/heads/tip
由refs/heads/tip标识的提交是拓扑头,而由refs/heads/middpoint标识的提交不是拓扑头。在Git中,中点提交在两个分支上

如果您确实需要不同的排序,那么就更难了:您必须使用hg日志和修订说明符,而不是hg头。请注意,-r head和notclosed生成的输出与hg heads相同,因此您可以从这个开始。hg日志的输出按您选择的顺序排序,但默认为相同的本地数字修订排序。有关更多信息,请参阅hg帮助修订版。

将hg heads与输出模板结合使用,并对当前分支进行grepping,这正是我想要的。如果其他人需要:hg heads-template'{node | short}{padbranch,80}[rev:{rev}]{filldesc,50\| firstline}\n'| grep-E$| ` hg branch`-color=everys | less