diff options
author | Pablo Olmos de Aguilera Corradini <pablo@glatelier.org> | 2014-04-01 10:20:19 -0300 |
---|---|---|
committer | Mike Burns <mike@mike-burns.com> | 2014-05-05 10:12:58 +0200 |
commit | 2e283083e64491e86120d12b284a1e5555501bd8 (patch) | |
tree | 7fb013fd468f5f7ff7d37199c7a6f5352786363a /bin | |
parent | d0872f2da1fab34e2b4a47c4af76c6e6b35f3e84 (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-x | bin/mkrc.in | 4 |
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")" |