【发布时间】:2015-12-16 12:31:50
【问题描述】:
我使用带有多个子存储库的 Mercurial 集成存储库。是否有任何命令可以获取当前存储库状态的某种报告或概览?
我想获取每个存储库的实际哈希码以及子存储库中更改的文件。
【问题讨论】:
标签: mercurial
我使用带有多个子存储库的 Mercurial 集成存储库。是否有任何命令可以获取当前存储库状态的某种报告或概览?
我想获取每个存储库的实际哈希码以及子存储库中更改的文件。
【问题讨论】:
标签: mercurial
status 命令知道子存储库,并将列出主存储库中的每个文件及其所有子存储库:
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
【讨论】: