Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / bin / check-git-links.sh
1 #!/bin/sh
2
3 dir=$(dirname "$0")
4 root=$(cd "$dir/../../.." && pwd)
5
6 pages=$(echo $@ | sort -f)
7
8 for page in ${pages}; do
9 for vgd in $(cat src/${page}.adoc | sed -E -n 's|.*(<!ViewGitDir\(mlton,[-a-zA-Z0-9_]+,(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>).*|\1|p'); do
10 rev=$(echo "$vgd" | sed -E -n 's|<!ViewGitDir\(mlton,([-a-zA-Z0-9_]+),(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>|\1|p')
11 path=$(echo "$vgd" | sed -E -n 's|<!ViewGitDir\(mlton,([-a-zA-Z0-9_]+),(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>|\2|p')
12 if (cd ${root}; git ls-tree ${rev} ${path} | grep -E -q '^[0-9]+[[:space:]]tree[[:space:]][0-9a-f]+[[:space:]]'${path}'$'); then
13 :
14 else
15 echo "*** ${page}: ${vgd}"
16 fi
17 done
18 for vgf in $(cat src/${page}.adoc | sed -E -n 's|.*(<!ViewGitFile\(mlton,[-a-zA-Z0-9_]+,(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>).*|\1|p'); do
19 rev=$(echo "$vgf" | sed -E -n 's|<!ViewGitFile\(mlton,([-a-zA-Z0-9_]+),(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>|\1|p')
20 path=$(echo "$vgf" | sed -E -n 's|<!ViewGitFile\(mlton,([-a-zA-Z0-9_]+),(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>|\2|p')
21 if (cd ${root}; git ls-tree ${rev} ${path} | grep -E -q '^[0-9]+[[:space:]]blob[[:space:]][0-9a-f]+[[:space:]]'${path}'$'); then
22 :
23 else
24 echo "*** ${page}: ${vgf}"
25 fi
26 done
27 for rgf in $(cat src/${page}.adoc | sed -E -n 's|.*(<!RawGitFile\(mlton,[-a-zA-Z0-9_]+,(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>).*|\1|p'); do
28 rev=$(echo "$rgf" | sed -E -n 's|<!RawGitFile\(mlton,([-a-zA-Z0-9_]+),(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>|\1|p')
29 path=$(echo "$rgf" | sed -E -n 's|<!RawGitFile\(mlton,([-a-zA-Z0-9_]+),(([-a-zA-Z0-9_.]+/)*[-a-zA-Z0-9_.]+)\)>|\2|p')
30 if (cd ${root}; git ls-tree ${rev} ${path} | grep -E -q '^[0-9]+[[:space:]]blob[[:space:]][0-9a-f]+[[:space:]]'${path}'$'); then
31 :
32 else
33 echo "*** ${page}: ${rgf}"
34 fi
35 done
36 done