X-Git-Url: https://git.phdru.name/?p=git-scripts.git;a=blobdiff_plain;f=sparse-clone;h=2c37c7741e0eac4ab8ebdc7a2cd06837ac32df59;hp=0037a861eeb8d646aad477a229fb72bc86ab84da;hb=HEAD;hpb=0fae62228c817ff60536eef5f975516bdccd58fa diff --git a/sparse-clone b/sparse-clone index 0037a86..2c37c77 100755 --- a/sparse-clone +++ b/sparse-clone @@ -2,14 +2,24 @@ # Adapted from https://stackoverflow.com/a/13738951/7976758 set -e -if [ -z "$3" ]; then - echo "Usage: $0 origin local patterns..." >&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" -local_repo="$2" -shift 2 +shift + +test -z "$branch" && branch=master +test -z "$local_repo" && local_repo="`basename \"$origin\" .git`" mkdir -p "$local_repo" cd "$local_repo" @@ -24,4 +34,4 @@ for arg; do echo "$arg" >> .git/info/sparse-checkout done -exec git pull origin master +exec git pull origin $branch