X-Git-Url: https://git.madduck.net/etc/mrsetup.git/blobdiff_plain/20976dd3b191408eb30f3e9608a98404fcf09bf1..f9258f539934a0e8b79faf3ccb9468afaa975131:/mrsetup?ds=inline

diff --git a/mrsetup b/mrsetup
index 5af4833..65c894a 100755
--- a/mrsetup
+++ b/mrsetup
@@ -8,35 +8,43 @@
 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_GIT_REPOS='srv/git/repos/madduck'
+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_CODE=code/mr
+MR_REPO_URL=$MY_GIT_URL_BASE/~/git/pub/code/mr.git
+MR_CODE=$HOME/code/mr
 MR_FGIT=.fgits/mr.git
 MR=.mr
 BIN_DIR=.bin
 
+if [ -z "${SSH_AUTH_SOCK:-}" ]; then
+  echo E: '$SSH_AUTH_SOCK' is not set. >&2
+  exit 1
+fi
+
 if [ ! -x "$(command -v git)" ]; then
   echo E: git is not installed. >&2
-  exit 1
+  exit 2
 fi
 
+cd $HOME
+
 if [ -e .mrconfig ]; then
   echo E: .mrconfig already exists. >&2
-  exit 2
+  exit 3
 fi
 
 if [ -d "$MR_FGIT" ]; then
   echo E: "$MR_FGIT" already exists. >&2
-  exit 3
+  exit 4
 fi
 
 if [ -d ".git" ]; then
   echo E: .git already exists. >&2
-  exit 3
+  exit 5
 fi
 
 if [ -d code/mr ]; then
@@ -44,13 +52,14 @@ if [ -d code/mr ]; then
     echo W: code/mr already exists, let us hope for the best... >&2
   else
     echo E: code/mr already exists. >&2
-    exit 4
+    exit 6
   fi
 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
@@ -76,26 +85,37 @@ 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
-  echo I: checking out local git repository...
-  dir="$(mktemp -d home.XXXXXXXX)"
-  trap "rm -rf $dir" 0
-  git clone --no-checkout $MY_ACCOUNT_REPO_URL "$dir"/co
-  mv "$dir"/co/.git .
-  git checkout-index --quiet --index --all
-  git reset HEAD
-  echo
-else
-  echo I: creating remote git repository for this account...
-  ssh $MY_GIT_SERVER "GIT_DIR=${MY_ACCOUNT_GIT_REPO} git --bare init"
-  echo I: setting up local git repository...
-  git init
-  git remote add origin $MY_ACCOUNT_REPO_URL
-  git config branch.master.remote origin
-  git config branch.master.merge refs/heads/master
-  git add .mrconfig
-  git commit -m'initial checkin'
-  git push --all
-fi
+#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
+#  git clone --no-checkout $MY_ACCOUNT_REPO_URL "$dir"/co
+#  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
+#    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
+#  git config branch.master.remote origin
+#  git config branch.master.merge refs/heads/master
+#  git add .mrconfig
+#  git commit -m'initial checkin'
+#  git push --all
+#  echo
+#fi
+
+echo I: spawning a shell...
+$SHELL -i -l </dev/tty >/dev/tty
+
+echo I: back from the shell.
 
 exit 0