From: Richard Hartmann Date: Sun, 21 Feb 2016 12:32:11 +0000 (+0100) Subject: Merge branch 'master' of github.com:RichiH/vcsh X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/8ae70a31cd3553ea94502b9784ba4dc5bee274c4?ds=sidebyside;hp=-c Merge branch 'master' of github.com:RichiH/vcsh --- 8ae70a31cd3553ea94502b9784ba4dc5bee274c4 diff --combined vcsh index e77ca08,d4e1ba0..f9bea25 --- a/vcsh +++ b/vcsh @@@ -190,7 -190,7 +190,7 @@@ commit() echo "$VCSH_REPO_NAME: " GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR use - git commit --untracked-files=no --quiet + git commit --untracked-files=no --quiet $@ VCSH_COMMAND_RETURN_CODE=$? echo done @@@ -476,14 -476,21 +476,21 @@@ write_gitignore() use cd "$VCSH_BASE" || fatal "could not enter '$VCSH_BASE'" 11 + local GIT_VERSION=$(git --version) + local GIT_VERSION_MAJOR=$(echo $GIT_VERSION | sed -n 's/.* \([0-9]\)\..*/\1/p') + local GIT_VERSION_MINOR=$(echo $GIT_VERSION | sed -n 's/.* \([0-9]\)\.\([0-9]\)\..*/\2/p') OLDIFS=$IFS IFS=$(printf '\n\t') gitignores=$(for file in $(git ls-files); do - while true; do - echo "$file"; new=${file%/*} - [ x"$file" = x"$new" ] && break - file=$new - done; + if [ $GIT_VERSION_MAJOR -ge 2 -a $GIT_VERSION_MINOR -ge 7 ]; then + echo "$file"; + else + while true; do + echo "$file"; new=${file%/*} + [ x"$file" = x"$new" ] && break + file=$new + done; + fi done | sort -u) # Contrary to GNU mktemp, mktemp on BSD/OSX requires a template for temp files