# chezmoi:template:left-delimiter=#{{
#{{- /* vim: set filetype=gitconfig: */ -}}
#{{ if lookPath "git" -}}
[core]
	editor = vim
	excludesfile = #{{ .chezmoi.homeDir }}/.config/git/ignore
	quotepath = false
	commitGraph = true
	logallrefupdates = true
#{{- if lookPath "delta" }}
	pager = delta

[interactive]
	diffFilter = delta --color-only

[delta]
	navigate = true    # use n and N to move between diff sections
	light = false      # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
	line-numbers = true

[merge]
	conflictstyle = diff3
#{{- end }}

[color]
	branch = auto
	diff = auto
	interactive = auto
	status = auto
	ui = auto

[user]
	name = #{{ .git_name }}
	email = #{{ .git_email }}

[alias]
	co = checkout
	cp = cherry-pick
	cw = diff --color-words
	ccw = diff --color-words --cached
	df = diff --ignore-space-change
	dfw = diff --ignore-space-change --color-words
	dfc = diff --ignore-space-change --cached
	dfcw = diff --ignore-space-change --color-words --cached
	st = status -sb
	dm = diff master
	com = "!bash -c 'if [[ $(git rev-parse --verify main 2>/dev/null) ]] ; then git checkout main ; else git checkout master ; fi'"
	file = show --pretty="format:" --name-only
	glog = !git log --pretty=oneline | grep
	lg = log --graph --pretty=format:'%Cred%h%Creset %s%Cred%d%Creset %Cgreen(%cr by %cN)%Creset'
	# http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
	list = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
	ls = list
	long-list = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
	ll = long-list
	list-date-stap = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
	lds = list-date-stap

[push]
	default = simple

[pull]
	rebase = false

[init]
	defaultBranch = main

[receive]
	advertisePushOptions = true
	procReceiveRefs = refs/for

[gc]
	writeCommitGraph = true
	reflogexpire = 90

[fetch]
	prune = true
	writeCommitGraph = true

[diff]
	algorithm = histogram
#{{- if lookPath "delta" }}
	colorMoved = default
#{{- end }}

[safe]
	directory = *

[uploadpack]
	allowfilter = true
	allowAnySHA1InWant = true

#{{- if lookPath "git-lfs" }}
[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
#{{- end }}

#{{- range $file := (glob (joinPath .chezmoi.homeDir ".config" "git" "config.d" "*")) }}
[include]
	path = #{{ $file }}
#{{- end }}
#{{- end }}