diff options
author | tv <tv@shackspace.de> | 2015-06-24 20:00:52 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-06-24 20:00:52 +0200 |
commit | 0fa8921e803876d85e1a0d49d925c2919714ee56 (patch) | |
tree | ef5cd237fc110842e64cc3ecf889093d1f63b365 /newbin/fetchgit | |
parent | bea25b5640e72a64605406b40f3cbcf5d0c6c9de (diff) |
infest-cac-CentOS-7-64bit: fetchgit
Diffstat (limited to 'newbin/fetchgit')
-rwxr-xr-x | newbin/fetchgit | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/newbin/fetchgit b/newbin/fetchgit new file mode 100755 index 000000000..b9fe90854 --- /dev/null +++ b/newbin/fetchgit @@ -0,0 +1,25 @@ +#! /bin/sh +# usage: fetchgit REVISION URL WORKTREE +set -euf + +git_rev=$1 +git_url=$2 +worktree=$3 + +if [ ! -d "$worktree" ]; then + mkdir -p "$worktree" +fi + +cd "$worktree" + +git init -q + +if ! current_url=$(git config remote.src.url); then + git remote add src "$git_url" +elif [ "$current_url" != "$git_url" ]; then + git remote set-url src "$git_url" +fi + +git fetch src + +git checkout "$git_rev" |