From 99e3581db7793f6a698b639d72b7a06a5042c480 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Fri, 9 May 2014 12:19:50 +0200 Subject: [PATCH] mkgit: helper to `git init` + `git remote add origin ...` Signed-off-by: Alejandro Mery --- files/bin/mkgit | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 files/bin/mkgit diff --git a/files/bin/mkgit b/files/bin/mkgit new file mode 100755 index 0000000..76110e2 --- /dev/null +++ b/files/bin/mkgit @@ -0,0 +1,66 @@ +#!/bin/sh + +NAME="Alejandro Mery" +EMAIL="amery@geeks.cl" +BASE="git@github.com:amery/" + +err() { + if [ $# -eq 0 ]; then + cat + else + echo "$*" + fi >&2 +} + +usage() { + [ $# -eq 0 ] || echo "$*" >&2 + + err <<-EOT + Usage: $0 [] + EOT + exit 1 +} + +[ $# -eq 1 -o $# -eq 2 ] || usage + +if expr "$1" : '.*:' > /dev/null; then + REMOTE="$1" +else + REMOTE="$BASE$1" +fi + +DIR="${2:-${REMOTE##*/}}" +if [ ! -d "$DIR/.git" ]; then + mkdir -p "$DIR" && cd "$DIR" && git init || exit $? +else + cd "$DIR" || exit $? + err "WARNING: $PWD already under git control" +fi + +for x in \ + "user.name:$NAME" \ + "user.email:$EMAIL" \ + "remote.origin.url:$REMOTE" \ + ; do + + k="${x%%:*}" + v="${x#*:}" + x="$(git config "$k")" + if [ -z "$v" ]; then + continue + elif [ -z "$x" -a "$k" = "remote.origin.url" ]; then + git remote add origin "$v" + elif [ "$v" != "$x" ]; then + [ -z "$x" ] || err "WARNING:$k: $x -> $v" + git config "$k" "$v" + fi + x=$(git config "$k") + + if [ "$v" = "$x" ]; then + echo "$k=$v" + else + err "ERROR:$k: set to '$x' instead of '$v'" + fi +done + +echo "Enjoy! \`cd $DIR\`"