blob: 5de894c13d508ea8b06dba13d4209e9db4036977 (
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
64
65
66
67
68
69
70
71
72
|
#!/bin/sh
# set -x
DEFAULT_DOTFILES_DIR=$HOME/.dotfiles
MV=mv
INSTALL=rcup
ROOT_DIR=$HOME
destination() {
if [ $# -eq 2 ]; then
echo $1
else
echo $1/tag-$3
fi
}
if [ -e $HOME/.rcrc ]; then
. $HOME/.rcrc
fi
. `dirname $0`/../share/rcm/rcm.sh
if [ $# -eq 0 ]; then
echo "Usage: mkrc [-d dir] [-t tag] [-v] [-q] filename ..."
exit 1
fi
for DOTFILES_DIR in $DOTFILES_DIRS $DEFAULT_DOTFILES_DIR; do
break
done
tag=
verbosity=0
version=0
while getopts Vvqt:d: opt; do
case "$opt" in
t) tag=$OPTARG;;
v) verbosity=$(($verbosity + 1));;
q) verbosity=$(($verbosity - 1));;
d) DOTFILES_DIR=$OPTARG;;
V) version=1
esac
done
shift $(($OPTIND-1))
if [ $version -eq 1 ]; then
version mkrc
exit 0
elif [ $verbosity -ge 2 ]; then
MV="$MV -v"
INSTALL="$INSTALL -vv"
elif [ $verbosity -eq 1 ]; then
MV="$MV -v"
INSTALL="$INSTALL -v"
elif [ $verbosity -eq 0 ]; then
MV="$MV -v"
else
INSTALL="$INSTALL -q"
fi
files=$@
for file in $files; do
dotless=`echo $file | sed -e "s|$ROOT_DIR/||" | sed -e 's/^\.//'`
dest=`destination $DOTFILES_DIR $dotless $tag`
mkdir -p $dest/`dirname $dotless`
$MV $file $dest/$dotless
$INSTALL -d $DOTFILES_DIR -t ${tag:--} $dotless
done
|