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/$MY_GIT_REPOS/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
+if [ -z "${SSH_AUTH_SOCK:-}" ]; then
echo E: '$SSH_AUTH_SOCK' is not set. >&2
exit 1
fi
exit 2
fi
+cd $HOME
+
if [ -e .mrconfig ]; then
echo E: .mrconfig already exists. >&2
exit 3
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
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
-[ -f "$0" ] && rm $0
+echo I: back from the shell.
exit 0