我使用以下代码来检测当前目录中是否存在文件夹.hg
。如果没有,则函数返回:
if [ ! -d ".hg" ]; then
return
fi
如何修改此项以检查父/祖先目录中的当前目录或中是否存在.hg
?我想如果它不是-d
这样的选项,那么解决方案将是递归的。
答案 0 :(得分:2)
我只是骗过这个:
if ! hg status > /dev/null 2>&1; then
return
fi
只要你在mercurial树里的某个地方, hg status
应该会成功。
答案 1 :(得分:1)
这将在前面的目录中搜索d
指定的目录 d=.hg
r=1
for i in $(seq 0 $(pwd|tr -cd '/'|wc -c)); do
if [ -d "$d" ]; then
r=0
fi
d=../$d
done
if [ r==1 ]; then
return
答案 2 :(得分:0)
另一种方法是将测试包装在一个while循环中,该循环一直持续到当前工作目录为/,并且在检查.hg目录是否存在之后为cd ..