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
exec 3<correspondences
while read <&3 ours underhome; do
- case "$ours" in
- ''|'#'*) ;;
- *) process_object ;;
- esac
+ 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=$(