From: Richard Hartmann Date: Fri, 18 Nov 2011 17:09:28 +0000 (+0100) Subject: Automate handling of .gitignore.d/$REPO_NAME X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/84a9200ba47abc57dcbb7bfc34c75a17a729e867?ds=inline;hp=--cc Automate handling of .gitignore.d/$REPO_NAME excludesfile = .gitignore.d/$REPO_NAME is set on * init * clone * seed-gitignore --- 84a9200ba47abc57dcbb7bfc34c75a17a729e867 diff --git a/vcsh b/vcsh index 1828880..6de5f56 100755 --- a/vcsh +++ b/vcsh @@ -74,7 +74,8 @@ init() { exit 20) || exit 20 cd "$GIT_WORK_TREE" git init - git config core.worktree "$GIT_WORK_TREE" + git config core.worktree "$GIT_WORK_TREE" + git config core.excludesfile ".gitignore.d/$REPO_NAME" verbose "init() end" } @@ -137,6 +138,7 @@ elif [ "$1" = 'clone' ]; then git remote add origin "$GIT_REMOTE" git config branch.master.remote origin git config branch.master.merge refs/heads/master + git config core.excludesfile ".gitignore.d/$REPO_NAME" git fetch for object in $(git ls-tree -r origin/master | awk '{print $4}'); do [ -e "$object" ] && @@ -175,6 +177,7 @@ elif [ "$1" = 'seed-gitignore' ]; then verbose "seed-gitignore begin" [ -z $2 ] && help && echo && echo "$SELF $1: please specify repository to work on" && return 0 use "$2" + git config core.excludesfile ".gitignore.d/$REPO_NAME" files=$(git ls-files) gitignores=$(for file in $(git ls-files); do while true; do