From a5b2884be9b23c72f89c4301084e0982981d2c04 Mon Sep 17 00:00:00 2001 From: Mike O'Connor Date: Fri, 28 Nov 2008 04:44:56 -0500 Subject: [PATCH] initial checkin --- movein | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 movein diff --git a/movein b/movein new file mode 100755 index 0000000..a8f1943 --- /dev/null +++ b/movein @@ -0,0 +1,156 @@ +#!/bin/sh +# +# Copyright © 2008 Mike O'Connor + +set -e + + +usage() { + bn=$(basename $0) + cat < .mrconfig +[DEFAULT] +include = cat /usr/share/mr/git-fake-bare +END +} + + +add() { + if [ $# -ne 1 ]; then + usage + fi + REPO_NAME=$1.git ; shift + LOCAL_REPO=$LOCAL_REPOS/$REPO_NAME + REPO_URL=ssh://$GIT_HOST/$REMOTE_REPOS/$REPO_NAME + + if [ -e "$LOCAL_REPO" ]; then + echo $LOCAL_REPO already exists + exit 1 + else + trap "rm -rf $LOCAL_REPO" 0 + mkdir "$LOCAL_REPO" + export GIT_DIR="$LOCAL_REPO" + git init --bare + git remote add origin $REPO_URL + git config branch.master.remote origin + git config branch.master.merge refs/heads/master + git config core.worktree ../../ + git config core.bare false + GIT_WORK_TREE="$PWD" git pull + trap - 0 + cat <> .mrconfig + +[$LOCAL_REPO] +checkout = git_fake_bare_checkout '$REPO_URL' '$REPO_NAME' '../../' +END + fi + +} + +new() { + if [ $# -lt 2 ]; then + usage + fi + REPO_NAME=$1.git ; shift + LOCAL_REPO="$LOCAL_REPOS/$REPO_NAME" + REPO_URL="ssh://$GIT_HOST/$REMOTE_REPOS/$REPO_NAME" + + if [ ! -e "$1" ]; then + echo $1 not found + exit 1 + fi + + if [ -e "$LOCAL_REPO" ]; then + echo $LOCAL_REPO already exists + exit 1 + else + trap "rm -rf $LOCAL_REPO" 0 + mkdir -p "$LOCAL_REPO" + + ssh $GIT_HOST " + GIT_DIR=$REMOTE_REPOS/$REPO_NAME git --bare init + " > .mrconfig + +[$LOCAL_REPO] +checkout = git_fake_bare_checkout '$REPO_URL' '$REPO_NAME' '../../' +END + fi + +} + +command=$1 ; shift +case "$command" in + init) + init $@ + ;; + add) + add $@ + ;; + new) + new $@ + ;; +esac \ No newline at end of file -- 2.39.5