summaryrefslogtreecommitdiff
path: root/.gitconfig
blob: 06e377617188b7e191dfcff5b6bcfe8f897f107d (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# -*- mode: conf; -*-

# ---- core settings ----

[user]
	name = Sean Whitton
	email = spwhitton@spwhitton.name
[alias]
        # # Convenient sync alias from
        # # http://stackoverflow.com/a/17722977.  Updates master while
        # # allowing only fast-forward merges and does not require
        # # checking out master; can remain on current branch
        # sync = "!git checkout --quiet HEAD; git fetch origin master:master; git checkout --quiet -"

        # nice way to view history (most recent 30 commits).  ov
        # ('overview') collapses linear commits with addition of
        # --simplify-by-decoration
        v  = log --graph --full-history -n 30 --decorate --oneline --branches --all
        ov = log --graph --full-history -n 30 --decorate --oneline --branches --all --simplify-by-decoration
        co = checkout

        # # "git exec blah" runs blah from the root of the worktree since shell
        # # alias are always run from the root of the worktree

        # # https://stackoverflow.com/questions/957928/is-there-a-way-to-get-the-git-root-directory-in-one-command#comment9747528_957978
	# exec = "!exec "

        # by David Bremner:
        nmam = "!f() { notmuch show --format=raw $1 | git am -; }; f"

[core]
        # no pager thanks
	pager = 
	excludesfile = ~/.globgitignore
[fetch]
	fsckObjects = true
[transfer]
	fsckObjects = true
[color]
	# turn colour on in as many places as possible
        ui = true
        branch = auto
        diff = auto
        interactive = auto
        status = auto
[push]
        default = current
        # use `mr push` when want --follow-tags
        followTags = false

# ---- URIs ----

[url "git@spwhitton.name:"]
     pushInsteadOf = https://git.spwhitton.name/
     pushInsteadOf = git://spwhitton.name/
     pushInsteadOf = athena:
# private repositories must clone by SSH
[url "git@spwhitton.name:priv/"]
     pushInsteadOf = athenap:
     insteadOf = athenap:
[url "https://git.spwhitton.name/"]
     #insteadOf = git://spwhitton.name/
     insteadOf = athena:
[url "spwhitton@athena.silentflame.com:"]
     insteadOf = athenah:

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

[url "https://anonscm.debian.org/git/"]
     insteadOf = alioth:
     insteadOf = git://anonscm.debian.org/
     insteadOf = git://git.debian.org/
     insteadOf = http://anonscm.debian.org/git/
     insteadOf = http://anonscm.debian.org/cgit/
[url "spwhitton@git.debian.org:/git/"]
     pushInsteadOf = alioth:
     pushInsteadOf = git://anonscm.debian.org/
     pushInsteadOf = git://git.debian.org/
     pushInsteadOf = http://anonscm.debian.org/git/
     pushInsteadOf = http://anonscm.debian.org/cgit/
     pushInsteadOf = https://anonscm.debian.org/git/
     pushInsteadOf = https://anonscm.debian.org/cgit/

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

# ---- git-send-email ----

# how to use git-send-email:
# <http://www.freedesktop.org/wiki/Software/PulseAudio/HowToUseGitSendEmail/>
# &
# <https://burzalodowa.wordpress.com/2013/10/05/how-to-send-patches-with-git-send-email/>
[sendemail]
        aliasesfile = ~/doc/mutt-aliases
        aliasfiletype = mutt
        confirm = always
        multiedit = true
        from = Sean Whitton <spwhitton@spwhitton.name>
        annotate = true

# ---- merging ----

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

# ---- git-remote-gcrypt ----

[gcrypt]
	publish-participants = true
	participants = 0x0F56D0553B6D411B

# ---- git-archive ----

# make git-archive(1) DTRT with -o foo.tar.{xz,gz}
[tar "tar.xz"]
	command = xz -c
[tar "tar.gz"]
	command = gzip -c

# ---- dgit ----

[dgit "default"]
        # just clean in the most aggressive way dgit knows how
        clean-mode = git-ff
        rm-old-changes = true
        distro = debian
[dgit-distro "debian"]
        # default to uploading by ssh.  Host-specific branches of
        # dotfiles repo can tweak this to ftp-master or ftp-eu if that
        # turns out to work better down their Internet pipes
        #upload-host = ssh-upload
        # ... except that ssh-upload is inconvenient until #691703 is resolved
        upload-host = ftp-master
        keyid = 8DC2487E51ABDD90B5C4753F0F56D0553B6D411B

# ---- magit ----

[magit]
	hideCampaign = true