summaryrefslogtreecommitdiff
path: root/.config/git/config
blob: 09c01894dccc03f1939bd60ba16a381c800a1be3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# -*- mode: conf -*-

[alias]
	s = status
	co = checkout
	sco = "!f() { git stash && git checkout \"$@\"; git stash pop; }; f"
	rco = "!cd \"$(git rev-parse --show-toplevel)\" \
		&& git reset && git checkout ."
	v  = log --graph --full-history -30 --decorate --oneline --all
	ov = log --graph --full-history -30 --decorate --oneline --all \
		--simplify-by-decoration
	d = diff
	cl = clean -xdff
	rcl = "!cd \"$(git rev-parse --show-toplevel)\" \
		&& git reset && git checkout . && git clean -xdff"
	rlh = rl HEAD

[annex]
	# Manually upgrade to new repository layouts once I've confirmed that
	# doing so doesn't break any scripts.
	autoupgraderepository = false

	# Configure git-annex such that just running 'git annex init' doesn't
	# change what 'git add' does.
	gitaddtoannex = false
	skipunknown = true

[core]
	pager =
	hooksPath = ~/src/dotfiles/hooks/git/hooksPath

[dgit "default"]
	clean-mode = git-ff
	rm-old-changes = true
	distro = debian
	push-subcmd = source
	rpush-subcmd = built

[dgit-distro "debian"]
	keyid = 8DC2487E51ABDD90B5C4753F0F56D0553B6D411B
	upload-host = ssh-upload

[format]
	# There's no tilde expansion for this.	When can assume git 2.31 can
	# set GIT_CONFIG_KEY_0=format.outputDirectory &
	# GIT_CONFIG_VALUE_0="$HOME/tmp" in ~/.profile instead.
	outputDirectory = /home/spwhitton/tmp

# These defaults turn off anonymous recipients to minimise key usage prompts.
[gcrypt]
	publish-participants = true
	participants = 0F56D0553B6D411B
	signingkey = 0F56D0553B6D411B

[merge "dpkg-mergechangelogs"]
	   name = debian/changelog merge driver
	   driver = dpkg-mergechangelogs -m %O %A %B %A

[tar "tar.xz"]
	command = xz -c
[tar "tar.gz"]
	command = gzip -c

[transfer]
	fsckObjects = true

[pull]
	rebase = true

[push]
	default = upstream

[rebase]
	autoStash = true

[sendemail]
	annotate = true
	confirm = always
	from = Sean Whitton <spwhitton@spwhitton.name>

[user]
	name = Sean Whitton
	email = spwhitton@spwhitton.name

[url "https://git.spwhitton.name/"]
	 insteadOf = demeter:
	 insteadOf = git://git.spwhitton.name/
	 insteadOf = http://git.spwhitton.name/
	 insteadOf = athena:		     # for compatibility only
	 insteadOf = git://spwhitton.name/   # for compatibility only
[url "git@git.spwhitton.name:"]
	 pushInsteadOf = http://git.spwhitton.name/
	 pushInsteadOf = https://git.spwhitton.name/
	 pushInsteadOf = git://git.spwhitton.name/
	 pushInsteadOf = demeter:
	 pushInsteadOf = athena:	       # for compatibility only
	 pushInsteadOf = git://spwhitton.name/ # for compatibility only

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

[url "https://salsa.debian.org/"]
	 insteadOf = salsa:
	 insteadOf = http://salsa.debian.org/
[url "git@salsa.debian.org:"]
	 pushInsteadOf = salsa:
	 pushInsteadOf = http://salsa.debian.org/
	 pushInsteadOf = https://salsa.debian.org/

[url "spwhitton@git.savannah.gnu.org:/srv/git/"]
	 pushInsteadOf = https://git.savannah.gnu.org/git/

[include]
	# Mostly local overrides, e.g. of user.name and user.email.
	path = ~/.config/git/local

	# Directory- and repo-specific overrides.
	path = ~/src/dotfiles/lib-src/git/includes