From 6c3c991bb60cc15db036adad73b3e695cb57f257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Tue, 6 Sep 2016 16:53:26 +0200 Subject: fix install script diff --- install | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'install') diff --git a/install b/install index 02a6b33..660cfb7 100755 --- a/install +++ b/install @@ -3,26 +3,39 @@ cd `dirname $0` dodiff() { - if ! [ -f "$2" ]; then - echo "Not installed: $1 => $2" + if [ -d "$2" ]; then + # If we just copying some file to directory + OUT=$2/$(basename "$1") + else + OUT=$2 + fi + if ! [ -f "$OUT" ]; then + echo "Not installed: $1 => $OUT" read -p "Install? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then - doinst $1 $2 + doinst "$1" "$OUT" fi return fi - if cmp "$1" "$2" >/dev/null; then - echo "No difference detected: $2" + if cmp "$1" "$OUT" >/dev/null; then + echo "No difference detected: $OUT" return fi - vimdiff "$1" "$2" + vimdiff "$1" "$OUT" } diff() { # Iterate trough source directory but ignore any git repositories # Note that its design decision to not iterate trough target directory. if [ -d "$1" ]; then + # This is check if we have correct inst command basically. If it is + # directory than it have to have trailing slash to ensure that no + # additional directory is created. + if ! echo "$1" | grep -qE '/$'; then + echo ERROR: Directory without trailing slash detected: $1 + exit 1 + fi for f in `find "$1" \( -type d -exec test -e '{}'/.git \; \) -prune -o -type f -print`; do - F="${f#$1/}" + F="${f#$1}" echo $f dodiff "$1/$F" "$2/$F" done @@ -67,7 +80,7 @@ fi read -p "Install VIM scripts? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst vimrc ~/.vimrc - inst vim ~/.vim + inst vim/ ~/.vim mkdir -p ~/.cache/vim # directory for *.swp files mkdir -p ~/.cache/vim-undo # directory for undo files echo "Please don't forget to setup YouCompleteMe" -- cgit v1.2.3