我在一个共同的“开发”目录下检查了许多Mercurial项目。对于我列出此目录下具有尚未推送到父存储库的传出更改集的所有项目,最简单的方法是什么?进入每个项目目录并运行hg outgoing
并不理想。
答案 0 :(得分:3)
我找到的最简单的方法是以下脚本:
#!/bin/bash
IFS=$(printf "\n\b")
for project in `find . -type d -name .hg`
do
pushd -- "$project" > /dev/null || exit 1
cd .. > /dev/null
if hg outgoing | grep changeset: > /dev/null
then
echo `pwd`
fi
popd > /dev/null
done
备注强>
find . -type d -name .hg | grep -v .hg/patches/.hg
if [ `hg status | wc -l` -gt 0 ]