summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorGravatar Pablo Olmos de Aguilera Corradini <pablo@glatelier.org>2014-04-01 10:20:19 -0300
committerGravatar Mike Burns <mike@mike-burns.com>2014-05-05 10:12:58 +0200
commit2e283083e64491e86120d12b284a1e5555501bd8 (patch)
tree7fb013fd468f5f7ff7d37199c7a6f5352786363a /bin
parentd0872f2da1fab34e2b4a47c4af76c6e6b35f3e84 (diff)
mkrc with relative filenames inside dotted dir
This is best explained with an example. If I want to track a file like `~/.bundle/config`, the correct way would be: ~$ mkrc ~/.bundle/config --> ~/.dotfiles/bundle/config But if you are already inside the directory, say: ~/.bundle $ and you ran: ~/.bundle $ mkrc con<TAB> # for autocomplete ~/.bundle $ mkrc config --> ~/.dotfiles/.config Which is obviously not what you meant. This basically checks first if the file exists in the current working directory and if it is, it's expand the full path. ~/.bundle $ mkrc config --> ~/.dotfiles/bundle/config
Diffstat (limited to 'bin')
-rwxr-xr-xbin/mkrc.in4
1 files changed, 4 insertions, 0 deletions
diff --git a/bin/mkrc.in b/bin/mkrc.in
index 398996a..e173eae 100755
--- a/bin/mkrc.in
+++ b/bin/mkrc.in
@@ -78,6 +78,10 @@ if [ $force_symlink -eq 1 ]; then
fi
for file in $files; do
+ case "$file" in
+ /*) break;;
+ *) [ -e "$PWD/$file" ] && file="$PWD/$file"
+ esac
dotless="$(de_dot "$file")"
dest="$(destination "$DOTFILES_DIR" "$dotless" $in_host "$tag")"
mkdir -p "$dest/$(dirname "$dotless")"