X-Git-Url: https://git.madduck.net/etc/mrsetup.git/blobdiff_plain/8d723ff13bdbfacff2ae2f1847512bdec36bbd55..37e10039f750d13cadd6235ed20564bb28adc039:/mrsetup?ds=sidebyside diff --git a/mrsetup b/mrsetup index 275ec3a..a1ba709 100755 --- a/mrsetup +++ b/mrsetup @@ -5,15 +5,16 @@ # Copyright © 2008 martin f. krafft <madduck@madduck.net> # Released under the terms of the Artistic Licence 2.0 # -set -u +set -eu MY_GIT_SERVER=git.madduck.net MY_GIT_REPOS='~/git' -MY_ACCOUNT_GIT_REPO=$MY_GIT_REPOS/accounts/$(whoami)@$(hostname --fqdn).git +MY_ACCOUNT="$(whoami)@$(hostname --fqdn)" +MY_ACCOUNT_GIT_REPO=${MY_GIT_REPOS}/accounts/${MY_ACCOUNT}.git MY_GIT_URL_BASE=ssh://$MY_GIT_SERVER MY_MR_REPO_URL=$MY_GIT_URL_BASE/$MY_GIT_REPOS/pub/etc/mr.git MY_ACCOUNT_REPO_URL=$MY_GIT_URL_BASE/$MY_ACCOUNT_GIT_REPO -MR_REPO_URL=git://git.kitenet.net/mr +MR_REPO_URL=ssh://git.madduck.net/~/git/pub/code/mr.git MR_CODE=code/mr MR_FGIT=.fgits/mr.git MR=.mr @@ -29,6 +30,8 @@ if [ ! -x "$(command -v git)" ]; then exit 2 fi +cd $HOME + if [ -e .mrconfig ]; then echo E: .mrconfig already exists. >&2 exit 3 @@ -54,8 +57,9 @@ if [ -d code/mr ]; then else echo I: cloning mr into ${MR_CODE}... mkdir --parent ${MR_CODE%/*} - git clone $MR_REPO_URL $MR_CODE - mkdir .bin + git clone --no-checkout $MR_REPO_URL $MR_CODE + (cd $MR_CODE && git checkout -b vcsh origin/vcsh) + mkdir --parent $BIN_DIR ln -s ../${MR_CODE}/mr $BIN_DIR/mr echo fi @@ -81,7 +85,7 @@ cp $MR/templ/.mrconfig . echo I: setting up base... $MR_CODE/mr co -if ssh $MY_GIT_SERVER "test -d $MY_ACCOUNT_GIT_REPO"; then +if ssh $MY_GIT_SERVER "test -d $MY_ACCOUNT_GIT_REPO" </dev/null; then echo I: checking out local git repository... dir="$(mktemp -d home.XXXXXXXX)" trap "rm -rf $dir" 0 @@ -89,10 +93,15 @@ if ssh $MY_GIT_SERVER "test -d $MY_ACCOUNT_GIT_REPO"; then mv "$dir"/co/.git . git checkout-index --quiet --index --all git reset HEAD + rm -r $dir + trap - 0 echo else echo I: creating remote git repository for this account... - ssh $MY_GIT_SERVER "GIT_DIR=${MY_ACCOUNT_GIT_REPO} git --bare init" + ssh $MY_GIT_SERVER " + GIT_DIR=${MY_ACCOUNT_GIT_REPO} git --bare init + echo 'account setup for $MY_ACCOUNT' + " </dev/null echo I: setting up local git repository... git init git remote add origin $MY_ACCOUNT_REPO_URL @@ -104,10 +113,8 @@ else echo fi -[ -f "$0" ] && rm $0 || : - echo I: spawning a shell... -$SHELL --interactive --login +$SHELL -i -l </dev/tty >/dev/tty echo I: back from the shell.