#!/bin/sh
+# wget -O new_home_directory 'http://git.donarmstrong.com/?p=bin.git;a=blob_plain;f=new_home_directory;hb=HEAD'
+# sh new_home_directory;
+
+
# makes a new home directory; defaults to one that does not use ssh
GIT_BASE=http://git.donarmstrong.com/
done;
# .config is currently a link; this indicates that we are dealing with my old configuration system
-if [ -L .config ]; then
- mv .config .config_bak;
- mkdir -p .config;
- cp -r .config_bak/* .config/;
-fi;
+for a in .config; do
+ if [ -L ${a} ]; then
+ mv ${a} ${a}_bak;
+ mkdir -p ${a};
+ cp -r ${a}_bak/* ${a}/;
+ fi;
+done;
-if [ -d lib/.svn ]; then
- mv lib/.svn lib/.svn_bak;
-fi;
+for a in lib bin; do
+ if [ -d ${a}/.svn ]; then
+ mv ${a} ${a}.bak
+ fi;
+done;
if [ "$1" = "ssh" ]; then
mkdir -p .config/;
vcsh clone $GIT_BASE/mr.git mr;
fi;
mr checkout;
+
+for a in .zsh .ssh; do
+ if [ -L ${a} ]; then
+ mv ${a} ${a}_bak;
+ mr up;
+ mkdir -p ${a};
+ cp -r ${a}_bak/* ${a}/;
+ fi;
+done;
+
if [ ! -e .ssh/authorized_keys ]; then
(cd .ssh/; ln authorized_keys_default authorized_keys -s;)
fi;
+
+# do some cleanup; you might want to run git reset --hard in some
+# cases; we don't do so automatically in case there are local changes
+# that should be kept
+mr run git reset --soft origin/master
+mr up