Mercurial > hg > vamp-build-and-test
view SCRIPTS/update.sh @ 133:4acb5d8d80b6 tip
Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author | Chris Cannam |
---|---|
date | Tue, 30 Jul 2019 12:25:44 +0100 |
parents | 622ddc1ace50 |
children |
line wrap: on
line source
#!/bin/bash # Run this from the top-level vamp-build-and-test directory # Optional argument for the single repo to checkout; default is all of them # Optional second argument for the revision to checkout; default is tip single="" if [ -n "$1" ]; then single="$1" fi rev="" revopt_hg="" revopt_git="" if [ -n "$2" ]; then rev="$2" revopt_hg="-r$rev" revopt_git="-b$rev" fi set -eu failed=/tmp/failed_$$ rm -f "$failed" trap "rm -f $failed" 0 cat METADATA/repos.txt | grep -v '^#' | awk -F= '{ print $1, $2 }' | while read name loc; do if [ -n "$single" ]; then if [ "$single" != "$name" ]; then continue fi fi if [ -d "$name"/.hg ]; then ( cd $name ; hg pull && hg update $revopt_hg ) || echo "$name" >> "$failed" elif [ -d "$name"/.git ]; then ( cd $name ; git pull ) || echo "$name" >> "$failed" if [ -n "$rev" ]; then ( cd $name ; git checkout "$rev" ) || echo "$name" >> "$failed" fi elif [ -d "$name" ]; then echo "ERROR: Directory \"$name\" exists, but is not a git or hg repo" 1>&2 exit 1 else case "$loc" in */hg/*) hg clone $revopt_hg "$loc" "$name" || echo "$name" >> "$failed";; *//git*) git clone $revopt_git "$loc" "$name" || echo "$name" >> "$failed";; *) echo "ERROR: Can't deduce repo type from URL \"$loc\"" 1>&2 exit 1;; esac fi done echo "Done" if [ -f "$failed" ]; then echo "Failed repos:" cat "$failed" fi