[core]
	whitespace = trailing-space,space-before-tab

[apply]
	whitespace = fix

[color]
	diff = never
	grep = auto
	range-diff = auto
	ui = auto

[am]
	keepnonpatch = true

[alias]
	distclean = clean -f -d -X
	wdiff = diff --color-words
	wshow = show --color-words
	hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
	root = rev-parse --show-toplevel

	show-commit = !git --no-pager show -s --date=short --pretty='format:%h ("%s", %ad)\n'

	nuke = !sh -c 'git branch --delete $1 && git push origin --delete $1' -

	trim = !git ls-files -z | xargs -r0 sed -i -e 's/[[:space:]]*$//g'

	first-push = !git config branch.master.remote origin && \
	              git config branch.master.merge refs/heads/master && \
	              git push origin master:refs/heads/master

	rebase-from-last-merge = !git rebase -i $(git log --merges -1 --format='%H')

[sendemail]
	chainreplyto = false
	envelopesender = auto

[push]
	default = simple

[diff]
	compactionHeuristic = 1

# The following settings define shortcuts for some popular remote
# repositories.
#
# When using such shortcuts as remote URLs the default behavior will be:
#
#   - fetch anonymously via https
#   - push via ssh.

[url "https://git.drupal.org/"]
	insteadOf = drupal:
[url "git@git.drupal.org:"]
	pushInsteadOf = drupal:

[url "https://github.com/"]
	insteadOf = github:
[url "git@github.com:"]
	pushInsteadOf = github:

[url "https://gitlab.com/"]
	insteadOf = gitlab:
[url "git@gitlab.com:"]
	pushInsteadOf = gitlab:

[url "https://gitlab.gnome.org/"]
	insteadOf = gnome:
[url "git@gitlab.gnome.org:"]
	pushInsteadOf = gnome:

[url "https://gitlab.freedesktop.org/"]
	insteadOf = freedesktop:
[url "git@gitlab.freedesktop.org:"]
	pushInsteadOf = freedesktop:

[include]
	path = .gitconfig.local