inhome="$HOME/$underhome"
prhome="~/$underhome"
linktarget="$basepath/$ours"
+ chompy="$underhome"
+ while true; do
+ case "$chompy" in
+ *?/?*)
+ linktarget="../$linktarget"
+ chompy="${chompy%/*}"
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
if [ "$inhome" -ef "$ours" ]; then
good "already symlinked here"
elif [ -h "$inhome" ]; then
process_object
done
+nondots=$( find home -mindepth 1 -maxdepth 1 -name '[0-9a-zA-Z]*[0-9a-zA-Z]' )
+
+for ours in $nondots; do
+ underhome="${ours#home/}"
+ process_object
+done
+
+exec 3<correspondences
+while read <&3 ours underhome; do
+ case "$ours" in
+ ''|'#'*) ;;
+ *)
+ case "$underhome" in
+ */*)
+ parent=${underhome%/*}
+ punderhome="$HOME/$parent"
+ prhome="~/${underhome%/*}"
+ if [ -d "$punderhome" ]; then
+ good "directory exists"
+ elif ! [ -e "$punderhome" ]; then
+ needs setup "directory does not exist"
+ $act mkdir -p "$punderhome"
+ else
+ bad "ought to be director but isn't"
+ fi
+ ;;
+ esac
+ process_object
+ ;;
+ esac
+done
+
brokens=$(
cd $HOME
- find -L .[0-9a-zA-Z]* -maxdepth 0 -xdev -type l -lname "$basepath/dot/*"
+ find -L .[0-9a-zA-Z]* -maxdepth 0 -xdev -type l \
+ \( -lname "$basepath/dot/*" -o -lname "$basepath/home/*" \)
)
for underhome in $brokens; do
inhome="$HOME/$underhome"