summaryrefslogtreecommitdiff
path: root/share/rcm.sh.in
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2013-08-04 10:35:14 -0400
committerGravatar Mike Burns <mike@mike-burns.com>2013-08-05 04:21:21 +0200
commit63b50643b0ffd287d0070e494625056a05081ce8 (patch)
tree0ee843065deed78edf646f11f8d46ff28c6964ba /share/rcm.sh.in
parent17c803d03d20f84cb37873e05d1539dbe7d43a77 (diff)
Introduce exclusion patterns
The lsrc(1), rcup(1), and rcdn(1) commands now take any number of `-e` flags, used to specify an exclusion pattern. This can also be controlled via rcrc(5), the `EXCLUDES` variable. An exclusion pattern specifies a file glob to skip. In the case of lsrc(1), any file matching the glob is not listed; in rcup(1) it is not symlinked; and in rcdn(1) it is not removed. The file glob can be preceded by the name of a dotfiles directory (separated from the file glob by a colon) to increase the specificity. Useful for: rcdn -e rcrc rcup -d work-dotfiles -e bashrc rcup -d ~/.dotfiles -d wife-dotfiles -d sys-dotfiles -e wife-dotfiles:tigrc
Diffstat (limited to 'share/rcm.sh.in')
-rw-r--r--share/rcm.sh.in10
1 files changed, 9 insertions, 1 deletions
diff --git a/share/rcm.sh.in b/share/rcm.sh.in
index f25665b..6dae15b 100644
--- a/share/rcm.sh.in
+++ b/share/rcm.sh.in
@@ -28,6 +28,14 @@ echo_error() {
exit $exit_status
}
+echo_stderr() {
+ echo $* >&2
+}
+
+is_relative() {
+ echo $1 | grep -vq '^/'
+}
+
version() {
cat << EOV
$1 (rcm) $VERSION
@@ -47,7 +55,7 @@ handle_common_flags() {
version $prog_name
exit 0
elif [ $verbosity -ge 2 ]; then
- DEBUG=echo
+ DEBUG=echo_stderr
VERBOSE=echo
PRINT=echo
MV="$MV -v"