#!/bin/bash export LOG_PREFIX="[fetch_code $remote @ $checkout -> $path]" if [[ "$remote" == ssh://* ]]; then host=$(echo "$url" | sed -E 's#ssh://([^:]+):[0-9]+/.*#\1#') port=$(echo "$url" | sed -E 's#ssh://[^:]+:([0-9]+)/.*#\1#') log "populating host keyz~ $host:$port" ssh-keyscan -p "$port" "$host" > ./cur_known_hosts export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=./cur_known_hosts -o StrictHostKeyChecking=yes" log "GIT_SSH_COMMAND: $GIT_SSH_COMMAND" fi log "getting the codez~ time to fetch!" git clone "$remote" "$path" if [ ! $? -eq 0 ]; then log "D: oh nyo! couldn't clone the repo" exit 1 fi cd "$path" log "switching to $checkout~" git reset --hard "$checkout" if [ ! $? -eq 0 ]; then log "D: can't reset to $checkout" cd - exit 1 fi cd -