Mercurial:获取当前存储库状态的报告

时间:2015-12-16 12:31:50

标签: mercurial

我使用Mercurial集成存储库和几个子存储库。是否有任何命令可以获得某种报告或当前存储库状态的概述?

我想获取每个存储库的实际哈希码,并更改子存储库中的文件。

1 个答案:

答案 0 :(得分:1)

status命令知道子存储库,并将列出main及其所有子存储库中的每个文件:

hg status --subrepos

在其输出中,它假定每个子参数都已在主仓库的.hgsubstate文件中检出了修订版本;否则它会显示相应子项的版本差异。

我知道没有很好的解决方案来检查正在检出的正确版本。但是你可以通过一些bash foo获得它:

for i in $(cat .hgsubstate | cut -f2 -d\  ); do
  if [ "$(hg log -r. -R$i --template='{node}')" != "$(cat .hgsubstate | grep $i$ | cut -f1 -d\  )" ]; then
    echo "$i has different checked-out version"
  fi
done