From 3700be9ce6802653df30c413179d93316bf0b291 Mon Sep 17 00:00:00 2001 From: Pablo Olmos de Aguilera Corradini and Mike Burns Date: Sun, 27 Oct 2013 17:16:30 -0300 Subject: Force some directories to be symlinks Typically a directory structure is copied instead of symlinked, while files are symlinked. However, some cases require symlinked dirs: git submodules, vim plugins, and so on. This introduces a `SYMLINK_DIRS` option for rcrc(5) that takes a space-separated list of "exclude patterns". Any directory matching these patterns is symlinked. This also introduces a `-S` argument for lsrc(1), rcup(1), and rcdn(1). This argument takes a pattern, for one-off directory symlinking. It can be repeated. This also introduces `-S` and `-s` for mkrc(1). `-S` will re-install the files as symlinks, and `-s` will not. This does work with `-C`, though perhaps unintuitively - we don't know what the user means in this case. However, it will not crash. Bug: `-s` does not work right if `SYMLINK_DIRS` is set. Bug #36 addresses this. --- share/rcm.sh.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'share/rcm.sh.in') diff --git a/share/rcm.sh.in b/share/rcm.sh.in index c9a98b3..f4ee212 100644 --- a/share/rcm.sh.in +++ b/share/rcm.sh.in @@ -10,7 +10,7 @@ ERROR=echo_error VERBOSE=: MKDIR=mkdir LN="ln -s" -CP=cp +CP="cp -R" RM=rm DEFAULT_DOTFILES_DIR=$HOME/.dotfiles MV=mv @@ -117,6 +117,12 @@ run_hooks() { fi } +de_dot() { + $DEBUG "de_dot $1" + $DEBUG " with DEST_DIR: $DEST_DIR" + echo $1 | sed -e "s|$DEST_DIR/||" | sed -e 's/^\.//' +} + : ${RCRC:=$HOME/.rcrc} if [ -r "$RCRC" ]; then -- cgit v1.2.3