如何在mercurial中找到我的工作版本

Asa*_*ers 58 mercurial

在一个mercurial repo中,我可以运行hg up {revision}来更改我的工作目录的修订版,但是我可以运行什么命令来发现我正在查看的修订版本?

zer*_*kms 70

这个命令:

hg parent
Run Code Online (Sandbox Code Playgroud)

  • @Jamie命名很难:-D (2认同)

Mar*_*ler 23

除此之外hg parents,您还可以使用hg summary获取有关当前状态的最重要摘要信息.它看起来像这样:

% hg summary
parent: 13051:120eccaaa522 tip
 encoding: fix typo in variable name
branch: default
commit: 2 unknown (clean)
update: (current)
mq:     20 unapplied
Run Code Online (Sandbox Code Playgroud)

并且一眼就告诉我,我在修订版13051,我在默认分支上有一个干净的工作副本(虽然有2个未跟踪的文件).这是我的存储库中的最新修订,因此更新不会做任何事情.最后,我有20个未应用的MQ补丁.


Wim*_*nen 15

hg identify(或hg id简称)将打印父哈希的(缩短的12个字符的标识符),以及+如果您的工作副本中有任何未提交的修改.

要获得完整的哈希值,您可以使用hg identify --debug.

  • @ShelbyMooreIII 12个十六进制字符为6个字节或48位,因此有2 ^ 48个可能的短标识符。根据生日悖论,那么大约需要1.2 * sqrt(2 ^ 48)=大约200万次提交才能获得50%的碰撞概率。短标识符几乎总是可以的。 (2认同)