summaryrefslogtreecommitdiff
path: root/.gitconfig
blob: 5de06c77c3812c44918f436f5c8fa858de6c9ba6 (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
# -*- mode: conf; -*-

[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

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

[core]
        # no pager thanks
	pager = 
	excludesfile = ~/.globgitignore

[url "git@spwhitton.name:"]
     pushInsteadOf = https://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 "swhitton@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:

# alt, that permits shallow checkouts and removes need for
# pushInsteadOf: [url "git+ssh://git.debian.org/git/"]
[url "https://anonscm.debian.org/git/"]
     insteadOf = alioth:
     insteadOf = git://anonscm.debian.org/
     insteadOf = git://git.debian.org/
     # insteadOf = https://anonscm.debian.org/git/
     # insteadOf = https://anonscm.debian.org/cgit/
     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 = https://anonscm.debian.org/git/
     # pushInsteadOf = https://anonscm.debian.org/cgit/
     pushInsteadOf = http://anonscm.debian.org/git/
     pushInsteadOf = http://anonscm.debian.org/cgit/
     pushInsteadOf = https://anonscm.debian.org/git/
     pushInsteadOf = https://anonscm.debian.org/cgit/

# temporary redirects
[url "git@spwhitton.name:dotfiles.git"]
     insteadOf = https://github.com/spwhitton/dotfiles.git
     pushInsteadOf = https://github.com/spwhitton/dotfiles.git
# [url "git@spwhitton.name:propellor.git"]
#      insteadOf = https://github.com/spwhitton/propellor.git

# turn colour on in as many places as possible
[color]
        ui = true
        branch = auto
        diff = auto
        interactive = auto
        status = auto

# push strategy
[push]
        default = current
        # temporarily disabled to work around dgit bug
        followTags = false

# 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 = false
        from = Sean Whitton <spwhitton@spwhitton.name>
        annotate = true

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

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

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

# dgit configuration
[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 = 0x0F56D0553B6D411B
[fetch]
	fsckObjects = true
[transfer]
	fsckObjects = true