# Adapted from https://stackoverflow.com/a/13738951/7976758
set -e
-rurl="$1"
-localdir="$2"
-shift 2
+while getopts b:l: opt; do
+ case $opt in
+ b ) branch="$OPTARG" ;;
+ l ) local_repo="$OPTARG" ;;
+ esac
+done
+shift `expr $OPTIND - 1`
+
+if [ -z "$2" ]; then
+ echo "Usage: $0 [-b branch] [-l local] origin patterns..." >&2
+ exit 1
+fi
+
+origin="$1"
+shift
+
+test -z "$branch" && branch=master
+test -z "$local_repo" && local_repo="`basename \"$origin\" .git`"
-mkdir -p "$localdir"
-cd "$localdir"
+mkdir -p "$local_repo"
+cd "$local_repo"
git init
-git remote add origin "$rurl"
+git remote add origin "$origin"
git config core.sparseCheckout true
echo "$arg" >> .git/info/sparse-checkout
done
-exec git pull origin master
+exec git pull origin $branch