#!/bin/sh # Copyright © 2014-2015 Jonas Smedegaard # Description: initialize vcsh local + remote git repository # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Depends: vcsh git set -eu skel_url=https://github.com/RichiH/vcsh_mr_template PRG=$(basename "$0") showhelp() { cat <&2 "$response" exit 1 } repo=${1:-mr} base_url="$2" url="$base_url/$repo" if [ $# -ne 2 ]; then showhelp exit1 "wrong parameters" fi if ! vcsh list | grep -Fxq "$repo"; then if [ vcsh = "$repo" ]; then url="$base_url" vcsh clone $skel_url mr vcsh "$repo" remote set-url origin "$url" else vcsh init "$repo" vcsh "$repo" remote add origin "$url" fi fi host=$(echo "$url" | sed -e 's/:.*//') path=$(echo "$url" | sed -e 's/.*://') if ssh "$host" test -d "$path.git"; then echo "Skipping vcsh remote \"$repo\" already pushed" else ssh "$host" mkdir -p "$(dirname "$path")" ssh "$host" git init --bare "$path.git" vcsh "$repo" push --set-upstream origin master fi printf 'Done (press return)' read foo