[user]
	email = tom@fizz.buzz
	name = Tom Alexander
	signingkey = 36C99E8B3C39D85F
[push]
	default = simple # (default since 2.0)
[alias]
	lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
	bh = log --oneline --branches=* --remotes=* --graph --decorate
	amend = commit --amend --no-edit
        authorcount = shortlog --summary --numbered --all --no-merges
[core]
	excludesfile = ~/.gitignore_global
[commit]
	gpgsign = true
	verbose = true
[pull]
	rebase = true
[log]
	date = local
[init]
	defaultBranch = main
[diff]
	tool = meld # Use meld for `git difftool` and `git mergetool`
	algorithm = histogram
	colorMoved = plain
	mnemonicPrefix = true
	renames = true
[difftool]
	prompt = false
[difftool "meld"]
	cmd = meld "$LOCAL" "$REMOTE"
[merge]
	tool = meld
	conflictStyle = zdiff3
[mergetool "meld"]
        # Make the middle pane start with partially-merged contents:
	cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
        # Make the middle pane start without any merge progress:
	# cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
[column]
	ui = auto
[branch]
	sort = -committerdate
[tag]
	sort = version:refname
[fetch]
	prune = true
	pruneTags = true
	all = true
[rebase]
	autoSquash = true
	autoStash = true
        # updateRefs was annoying when you want to split a branch in two by rebasing away from commits from one branch and rebasing away some commits from another branch.
	updateRefs = false
# Disabled because ephemeral pin storage is not yet ready in openpgp-card-state
# [gpg]
# 	program = oct-git
