From 481e59c1188751f434aa5ff9c82707f2f5233f28 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Fri, 3 May 2019 12:52:31 +0200 Subject: [PATCH] Added naive clone or pull. Signed-off-by: Tony Tkacik --- bin/clone-or-pull | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 bin/clone-or-pull diff --git a/bin/clone-or-pull b/bin/clone-or-pull new file mode 100755 index 0000000..a1d88e5 --- /dev/null +++ b/bin/clone-or-pull @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# FIXME: Add checks +REPO="$PWD"; +TARGET_DIR="$1"; +BRANCH="$2"; + +function perform_clone_or_pull { + target="$1"; + if [! -e "$target/.git" ]; then + git clone "$REPO" "$target"; + fi + ( + cd "$target"; + git fetch + git checkout origin/$BRANCH + ) +} + +while read old_rew new_rew ref; do + if [ "$ref" == "refs/heads/$BRANCH"]; then + perform_clone_or_pull "$TARGET_DIR"; + fi; +done;