#!/bin/bash
#########################################################
# 							#
# This is BashStyle-NG  				#
#							#
# Licensed under GNU GENERAL PUBLIC LICENSE v3    	#
#							#
# Copyright 2007 - 2014 Christopher Bratusek		#
#							#
#########################################################

if [[ $(ini_get git_user_name) != "" ]]; then
	git config --global user.name "$(ini_get git_user_name)"
fi

if [[ $(ini_get git_user_mail) != "" ]]; then
	git config --global user.email "$(ini_get git_user_mail)"
fi

if [[ $(ini_get git_signkey) != "" ]]; then
	git config --global user.signingkey "$(ini_get git_signkey)"
fi

COLOR_OPTS=( branch diff interactive pager status )

if [[ $(ini_get git_color) == True ]]; then
	for opt in ${COLOR_OPTS[@]}; do
		git config --global color.$opt true
	done
else 	for opt in ${COLOR_OPTS[@]}; do
		git config --global color.$opt false
	done
fi

if [[ $(ini_get git_editor) != "" ]]; then
	git config --global core.editor "$(ini_get git_editor)"
fi

if [[ $(ini_get git_aliases) == True ]]; then
	git config --global alias.co checkout
	git config --global alias.up pull
	git config --global alias.re "reset --hard HEAD"
	git config --global alias.ma "checkout master"
	git config --global alias.who "shortlog -s --"
	git config --global alias.ci commit
	git config --global alias.ls "log --format='%Cgreen%H %Cred%ai %Creset- %s'"
	git config --global alias.lsb "for-each-ref --sort=-committerdate --format='%1B[32m%(committerdate:iso8601) %1B[34m%(committerdate:relative)  %1B[0;m%(refname:short)' refs/remotes refs/heads"
	git config --global alias.stage "add -u"

else	git config --global --unset alias.co
	git config --global --unset alias.up
	git config --global --unset alias.re
	git config --global --unset alias.ma
	git config --global --unset alias.who
	git config --global --unset alias.ci
	git config --global --unset alias.ls
	git config --global --unset alias.stage
	git config --global --unset alias.lsb
fi
