blob: a7fb81dda8a83b52d399fdec2502b710a1f6d7da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#!/bin/sh
: ${RCM_LIB:=`dirname $0`/../share/rcm}
. $RCM_LIB/rcm.sh
handle_command_line() {
local arg_tags=
local verbosity=0
local version=0
local dotfiles_dirs=
local files=
local excludes=
local includes=
while getopts VqvI:e:t:d: opt; do
case "$opt" in
e) excludes="$excludes $OPTARG";;
I) includes="$includes $OPTARG";;
t) arg_tags="$arg_tags $OPTARG" ;;
v) verbosity=$(($verbosity + 1));;
q) verbosity=$(($verbosity - 1));;
d) dotfiles_dirs="$dotfiles_dirs $OPTARG" ;;
V) version=1
esac
done
shift $(($OPTIND-1))
handle_common_flags rcup $version $verbosity
tags=${arg_tags:-$TAGS}
dotfiles_dirs=${dotfiles_dirs:-$DOTFILES_DIRS}
files=$@
for tag in $tags; do
LS_ARGS="$LS_ARGS -t $tag"
done
for dotfiles_dir in $dotfiles_dirs; do
LS_ARGS="$LS_ARGS -d $dotfiles_dir"
done
for exclude in $excludes; do
LS_ARGS="$LS_ARGS -e $exclude"
done
for include in $includes; do
LS_ARGS="$LS_ARGS -I $include"
done
LS_ARGS="$LS_ARGS $files"
$DEBUG "LS_ARGS: $LS_ARGS"
}
if [ -e $HOME/.rcrc ]; then
. $HOME/.rcrc
fi
handle_command_line $*
for dest_and_src in `lsrc $LS_ARGS`; do
dest=`echo $dest_and_src | sed 's/:.*//'`
src=`echo $dest_and_src | sed 's/.*://'`
$RM -rf $dest
rmdir -p `dirname $dest` 2>/dev/null
done
|