#!/bin/sh


### Post checkout hook to update .git/info/exclude with 
### branch specific .gitignore.[branch-name] files.
### Copy to .git/hooks and chmod +x after fresh clone
### to ensure proper .gitignore configuration.

branch_switched=$3

if [ "$branch_switched" != "1" ]
then
    exit 0
fi
echo "---- POST CHECKOUT ----"
current_branch=$(git rev-parse --abbrev-ref HEAD)
root_dir="$(pwd -P)"
info_dir="$root_dir/.git/info"

exclude_target='.gitignore'
if [ -f "$root_dir/$exclude_target.$current_branch" ]
then
	echo "Prepare to use .gitignore.$current_branch as exclude file"
    exclude_target=.gitignore.$current_branch
fi
cd "$info_dir" || exit
rm exclude
#ln -s $exclude_target exclude
echo "Copy .gitignore.$current_branch file in place of exclude"
cp "$root_dir/$exclude_target" exclude
echo "--- POST CHECKOUT END ---"