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.