summaryrefslogtreecommitdiff
path: root/bin/lsrc
diff options
context:
space:
mode:
Diffstat (limited to 'bin/lsrc')
-rwxr-xr-xbin/lsrc106
1 files changed, 53 insertions, 53 deletions
diff --git a/bin/lsrc b/bin/lsrc
index ad16d40..2634e54 100755
--- a/bin/lsrc
+++ b/bin/lsrc
@@ -1,20 +1,20 @@
#!/bin/sh
-: ${RCM_LIB:=`dirname $0`/../share/rcm}
-. $RCM_LIB/rcm.sh
+: ${RCM_LIB:=$(dirname "$0")/../share/rcm}
+. "$RCM_LIB/rcm.sh"
pushdir() {
DIR_STACK="$DIR_STACK:$PWD/$1"
- $DEBUG "cd'ing to $1 from `pwd` with stack $DIR_STACK"
- cd $1
+ $DEBUG "cd'ing to $1 from $PWD with stack $DIR_STACK"
+ cd "$1"
}
popdir() {
- current=`echo $DIR_STACK | sed -e 's/.*://g'`
- prior=`echo $DIR_STACK | sed -e "s|:$current$||" | sed -e 's/.*://g'`
- DIR_STACK=`echo $DIR_STACK | sed -e 's/:[^:]*$//'`
- $DEBUG "cd'ing to $prior from `pwd` with stack $DIR_STACK"
- cd $prior
+ current="$(echo "$DIR_STACK" | sed -e 's/.*://g')"
+ prior="$(echo "$DIR_STACK" | sed -e "s|:$current$||" | sed -e 's/.*://g')"
+ DIR_STACK="$(echo "$DIR_STACK" | sed -e 's/:[^:]*$//')"
+ $DEBUG "cd'ing to $prior from $PWD with stack $DIR_STACK"
+ cd "$prior"
}
build_path() {
@@ -46,15 +46,15 @@ file_join() {
}
show_dir() {
- local dir=$1
- local dest_dir=$2
- local dotfiles_dir=$3
- local dotfiles_subdir=$4
+ local dir="$1"
+ local dest_dir="$2"
+ local dotfiles_dir="$3"
+ local dotfiles_subdir="$4"
local dotted=$5
local exclude_file_globs="$6"
local include_file_globs="$7"
local symlink_dirs_file_globs="$8"
- local dest_path=`build_path "$dest_dir" "$dir" $dotted`
+ local dest_path="$(build_path "$dest_dir" "$dir" $dotted)"
$DEBUG "show_dir $1 $2 $3 $4 $5 $6 $7 $8"
@@ -63,15 +63,15 @@ show_dir() {
pushdir "$dir"
for f in *; do
$DEBUG "handling the file $f"
- next_dir=`file_join "$dotfiles_subdir" "$dir"`
+ next_dir="$(file_join "$dotfiles_subdir" "$dir")"
handle_file "$f" "$dest_path" "$dotfiles_dir" "$next_dir" 1 "$exclude_file_globs" "$include_file_globs" "$symlink_dirs_file_globs"
done
popdir
}
sigil_for() {
- local file=$1
- local symlink_dirs_file_globs=$2
+ local file="$1"
+ local symlink_dirs_file_globs="$2"
local copy_always=0
local symlink_dirs=0
@@ -79,7 +79,7 @@ sigil_for() {
$DEBUG "copy_file: $copy_file"
$DEBUG "file: $file"
- case $file in
+ case "$file" in
$copy_file)
copy_always=1
break
@@ -107,17 +107,17 @@ show_file() {
local dotfiles_subdir="$4"
local dotted=$5
local symlink_dirs_file_globs="$6"
- local dest_file=`build_path "$dest_dir" "$file" $dotted`
+ local dest_file="$(build_path "$dest_dir" "$file" $dotted)"
- if echo $DEST_STACK | grep -vq ":$dest_file"; then
+ if echo "$DEST_STACK" | grep -vq ":$dest_file"; then
DEST_STACK="$DEST_STACK:$dest_file"
- src_file=`file_join "$dotfiles_subdir" "$file"`
- abs_src_file=`file_join "$dotfiles_dir" "$src_file"`
+ src_file="$(file_join "$dotfiles_subdir" "$file")"
+ abs_src_file="$(file_join "$dotfiles_dir" "$src_file")"
output="$dest_file:$abs_src_file"
if [ $SHOW_SIGILS -eq 1 ]; then
- sigil=`sigil_for "$src_file" "$symlink_dirs_file_globs"`
+ sigil="$(sigil_for "$src_file" "$symlink_dirs_file_globs")"
output="$output:$sigil"
fi
@@ -151,10 +151,10 @@ handle_file() {
}
is_metafile() {
- host_portion=`echo $1 | sed -e 's/host-.*/host-/'`
- tag_portion=`echo $1 | sed -e 's/tag-.*/tag-/'`
+ host_portion="$(echo "$1" | sed -e 's/host-.*/host-/')"
+ tag_portion="$(echo "$1" | sed -e 's/tag-.*/tag-/')"
- [ x$host_portion = 'xhost-' -o x$tag_portion = 'xtag-' -o "x$1" = "xhooks" ]
+ [ "x$host_portion" = 'xhost-' -o "x$tag_portion" = 'xtag-' -o "x$1" = "xhooks" ]
}
dotfiles_dir_excludes() {
@@ -165,19 +165,19 @@ dotfiles_dir_excludes() {
$DEBUG " with excludes: $excludes"
for exclude in $excludes; do
- if echo $exclude | grep -q :; then
- dotfiles_dir_pat=`echo $exclude | sed 's/:.*//'`
- file_glob=`echo $exclude | sed 's/.*://'`
+ if echo "$exclude" | grep -q ':'; then
+ dotfiles_dir_pat="$(echo "$exclude" | sed 's/:.*//')"
+ file_glob="$(echo "$exclude" | sed 's/.*://')"
- if [ "x$dotfiles_dir_pat" != "x*" ] && is_relative $dotfiles_dir_pat; then
- dotfiles_dir_pat=$PWD/$dotfiles_dir_pat
+ if [ "x$dotfiles_dir_pat" != "x*" ] && is_relative "$dotfiles_dir_pat"; then
+ dotfiles_dir_pat="$PWD/$dotfiles_dir_pat"
fi
if [ "x$dotfiles_dir_pat" = "x*" -o "x$dotfiles_dir_pat" = "x$dotfiles_dir" ]; then
- echo $file_glob
+ echo "$file_glob"
fi
else
- echo $exclude
+ echo "$exclude"
fi
done
}
@@ -246,12 +246,12 @@ handle_command_line() {
handle_common_flags lsrc $version $verbosity
SHOW_SIGILS=$show_sigils
- TAGS=${arg_tags:-$TAGS}
- DOTFILES_DIRS=${dotfiles_dirs:-$DOTFILES_DIRS}
- EXCLUDES=${excludes:-$EXCLUDES}
- INCLUDES=${includes:-$INCLUDES}
- SYMLINK_DIRS=${symlink_dirs:-$SYMLINK_DIRS}
- FILES=$@
+ TAGS="${arg_tags:-$TAGS}"
+ DOTFILES_DIRS="${dotfiles_dirs:-$DOTFILES_DIRS}"
+ EXCLUDES="${excludes:-$EXCLUDES}"
+ INCLUDES="${includes:-$INCLUDES}"
+ SYMLINK_DIRS="${symlink_dirs:-$SYMLINK_DIRS}"
+ FILES="$@"
$DEBUG "TAGS: $TAGS"
$DEBUG "DOTFILES_DIRS: $DOTFILES_DIRS"
@@ -259,7 +259,7 @@ handle_command_line() {
DEST_STACK=
-handle_command_line $*
+handle_command_line $@
: ${DOTFILES_DIRS:=$DOTFILES_DIRS $DEFAULT_DOTFILES_DIR}
$DEBUG "DOTFILES_DIRS: $DOTFILES_DIRS"
@@ -276,7 +276,7 @@ for DOTFILES_DIR in $DOTFILES_DIRS; do
cd "$relative_root_dir"
if is_relative $DOTFILES_DIR; then
- DOTFILES_DIR=$PWD/$DOTFILES_DIR
+ DOTFILES_DIR="$PWD/$DOTFILES_DIR"
fi
if [ ! -d "$DOTFILES_DIR" ]; then
@@ -284,30 +284,30 @@ for DOTFILES_DIR in $DOTFILES_DIRS; do
continue
fi
- exclude_file_globs=`dotfiles_dir_excludes $DOTFILES_DIR "$EXCLUDES"`
+ exclude_file_globs="$(dotfiles_dir_excludes "$DOTFILES_DIR" "$EXCLUDES")"
$DEBUG "exclude_file_globs: $exclude_file_globs"
- include_file_globs=`dotfiles_dir_excludes $DOTFILES_DIR "$INCLUDES"`
- symlink_dirs_file_globs=`dotfiles_dir_excludes $DOTFILES_DIR "$SYMLINK_DIRS"`
+ include_file_globs="$(dotfiles_dir_excludes "$DOTFILES_DIR" "$INCLUDES")"
+ symlink_dirs_file_globs="$(dotfiles_dir_excludes "$DOTFILES_DIR" "$SYMLINK_DIRS")"
$DEBUG "symlink_dirs_file_globs: $symlink_dirs_file_globs"
cd "$DOTFILES_DIR"
DIR_STACK=":$DOTFILES_DIR"
for file in ${FILES:-*}; do
- if is_metafile $file; then
+ if is_metafile "$file"; then
continue
fi
- handle_file $file $DEST_DIR $DOTFILES_DIR . 0 "$exclude_file_globs" "$include_file_globs" "$symlink_dirs_file_globs"
+ handle_file "$file" "$DEST_DIR" "$DOTFILES_DIR" . 0 "$exclude_file_globs" "$include_file_globs" "$symlink_dirs_file_globs"
done
cd "$DOTFILES_DIR"
- host_files=$DOTFILES_DIR/host-$HOSTNAME
- if [ -d $host_files ]; then
- pushdir `basename $host_files`
+ host_files="$DOTFILES_DIR/host-$HOSTNAME"
+ if [ -d "$host_files" ]; then
+ pushdir "$(basename "$host_files")"
for file in ${FILES:-*}; do
- handle_file $file $DEST_DIR $host_files . 0 "$exclude_file_globs" "$include_file_globs"
+ handle_file "$file" "$DEST_DIR" "$host_files" . 0 "$exclude_file_globs" "$include_file_globs"
done
popdir
fi
@@ -315,11 +315,11 @@ for DOTFILES_DIR in $DOTFILES_DIRS; do
cd "$DOTFILES_DIR"
for tag in $TAGS; do
- if [ -d tag-$tag ]; then
- pushdir `basename tag-$tag`
+ if [ -d "tag-$tag" ]; then
+ pushdir "$(basename "tag-$tag")"
for file in ${FILES:-*}; do
$DEBUG "TAG: $tag, exclude_file_globs: $exclude_file_globs"
- handle_file $file $DEST_DIR $DOTFILES_DIR/tag-$tag . 0 "$exclude_file_globs" "$include_file_globs"
+ handle_file "$file" "$DEST_DIR" "$DOTFILES_DIR/tag-$tag" . 0 "$exclude_file_globs" "$include_file_globs"
done
popdir
fi