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
echo I: cloning mr into ${MR_CODE}...
mkdir --parent ${MR_CODE%/*}
git clone $MR_REPO_URL $MR_CODE
- mkdir .bin
+ 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
+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
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
echo
fi
-rm -f "$0"
-
echo I: spawning a shell...
-$SHELL --interactive --login
+$SHELL --interactive --login </dev/tty >/dev/tty
echo I: back from the shell.