summaryrefslogtreecommitdiff
path: root/scripts/utils
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/utils')
-rw-r--r--scripts/utils23
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
+}