diff options
Diffstat (limited to 'scripts/utils')
-rw-r--r-- | scripts/utils | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/utils b/scripts/utils new file mode 100644 index 0000000..b88d4a4 --- /dev/null +++ b/scripts/utils @@ -0,0 +1,23 @@ +# vim: ft=sh + +# Simple echo wrapper for stage marking +echo_stage() { + echo "========== $@ ==========" +} + +# Fetch git repository to WORKSPACE and create workspace in current directory +# First agument has to be a source URL +# Second argument is name of directory to which will be directory cloned in. +# Second argument is optional and should be branch name (master is used if not +# provided). +git_fetch() { + local BRANCH="$3" + [ -n "$BRANCH" ] || BRANCH=master + local GITARGS="--git-dir='$WORKSPACE/$2' --bare" + if [ ! -d "$WORKSPACE/$2" ]; then + git clone --bare "$1" "$WORKSPACE/$2" + else + git $GITARGS fetch --prune --prune-tags --force "$1" "$BRANCH:$BRANCH" + fi + git $GITARGS worktree add --detach $2 $BRANCH +} |