diff --git a/tools/google-code-moved.sh b/tools/google-code-moved.sh index 59f1ebd233..db3a72f421 100755 --- a/tools/google-code-moved.sh +++ b/tools/google-code-moved.sh @@ -10,12 +10,31 @@ len=$(echo "$all" | wc -l) echo "$len apps left" +moved() { + printf "\n%s\n" $1 + printf "\tProject moved: %s\n" $2 +} + echo "$all" | sort -u | shuf | while read url; do printf "." + + redurl=$(curl -s -I $url/checkout | perl -n -e '/^Location: (.*)$/ && print "$1\n"') + + if echo $redurl | grep -q hosting/moved; then + found=$(curl -L -s $url/checkout | sed -n 's/.*View the project at: .*/\1/p') + moved $url $found + continue + fi + if [ -n "$redurl" ] && [ "$redurl" != "$url" ]; then + moved $url $redurl + continue + fi - found=$(curl -s $url/checkout | sed -n 's/.*here<\/A>.*/\1/p') + found=$(curl -L -s $url/checkout | sed -n 's/.*here<\/A>.*/\1/p') if [ -n "$found" ]; then - printf "\n%s\n" $url - printf "\tProject moved: %s\n" $found + moved $url $found + continue fi done + +echo