Support for symlinked directories (#17)
This commit is contained in:
parent
85abcf981c
commit
fa286f0c9d
2 changed files with 18 additions and 7 deletions
17
yadm
17
yadm
|
@ -117,16 +117,23 @@ function alt() {
|
||||||
|
|
||||||
#; loop over all "tracked" files
|
#; loop over all "tracked" files
|
||||||
#; for every file which matches the above regex, create a symlink
|
#; for every file which matches the above regex, create a symlink
|
||||||
|
last_linked=''
|
||||||
for tracked_file in $(git ls-files | sort); do
|
for tracked_file in $(git ls-files | sort); do
|
||||||
tracked_file="$YADM_WORK/$tracked_file"
|
tracked_file="$YADM_WORK/$tracked_file"
|
||||||
if [ -e "$tracked_file" ] ; then
|
#; process both the path, and it's parent directory
|
||||||
if [[ $tracked_file =~ $match ]] ; then
|
for alt_path in "$tracked_file" "${tracked_file%/*}"; do
|
||||||
|
if [ -e "$alt_path" ] ; then
|
||||||
|
if [[ $alt_path =~ $match ]] ; then
|
||||||
|
if [ "$alt_path" != "$last_linked" ] ; then
|
||||||
new_link="${BASH_REMATCH[1]}"
|
new_link="${BASH_REMATCH[1]}"
|
||||||
debug "Linking $tracked_file to $new_link"
|
debug "Linking $alt_path to $new_link"
|
||||||
[ -n "$loud" ] && echo "Linking $tracked_file to $new_link"
|
[ -n "$loud" ] && echo "Linking $alt_path to $new_link"
|
||||||
ln -fs "$tracked_file" "$new_link"
|
ln -nfs "$alt_path" "$new_link"
|
||||||
|
last_linked="$alt_path"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
4
yadm.1
4
yadm.1
|
@ -356,6 +356,10 @@ If running on a Solaris server, the link use the default "##" version:
|
||||||
|
|
||||||
If no "##" version exists and no files match the current OS/HOSTNAME/USER, then no link will be created.
|
If no "##" version exists and no files match the current OS/HOSTNAME/USER, then no link will be created.
|
||||||
|
|
||||||
|
Links are also created for directories named this way, as long as they have at least one
|
||||||
|
.B yadm
|
||||||
|
managed file within them.
|
||||||
|
|
||||||
OS is determined by running
|
OS is determined by running
|
||||||
.BR uname\ -s ,
|
.BR uname\ -s ,
|
||||||
HOSTNAME by running
|
HOSTNAME by running
|
||||||
|
|
Loading…
Reference in a new issue