dot/gitconfig.in: Run `diff-highlight' from the path, if it's there.
[profile] / dot / gitconfig.in
1 ### -*-conf-*-
2 ### Git configuration
3
4 [core]
5 filemode = true
6 excludesfile = @profile@/git/gitignore
7 attributesfile = @profile@/git/attributes
8 whitespace = trailing-space,space-before-tab,indent-with-non-tab
9
10 [advice]
11 ignoredHook = false
12
13 [user]
14 name = Mark Wooding
15 email = mdw@distorted.org.uk
16 signingkey = @releasekey@
17
18 [annex]
19 sshcaching = false
20
21 [merge]
22 summary = true
23 tool = emerge
24 conflictStyle = diff3
25
26 [mergetool "emerge"]
27 path = emerge-hack
28
29 [diff]
30 renames = copies
31 renameLimit = 1024
32 wordRegex = [[:alnum:]]+|[^[:space:][:alnum:]]
33
34 [diff "lisp"]
35 xfuncname = "^((\\(|\\s*\\(def).*$)"
36
37 [log]
38 date = rfc
39 decorate = true
40 follow = true
41 mailmap = true
42
43 [rebase]
44 autosquash = true
45
46 [pull]
47 rebase = false
48
49 [push]
50 default = upstream
51 followTags = true
52
53 [format]
54 headers = "Organization: Straylight/Edgeware\n"
55 from = Mark Wooding <@email@>
56 coverletter = auto
57 thread = shallow
58 signature = "[mdw]"
59 outputdirectory = p/
60
61 [color]
62 ui = auto
63
64 [color "diff"]
65 plain = normal
66 meta = bold
67 new = green
68 old = red
69 commit = bold yellow
70 whitespace = reverse red
71
72 [color "interactive"]
73 prompt = bold yellow
74 header = bold
75 help = green
76 error = bold red
77
78 [color "status"]
79 header = bold
80 added = bold green
81 changed = bold blue
82 untracked = bold red
83
84 [color "branch"]
85 current = bold
86 local = normal
87 remote = cyan
88
89 [column]
90 ui = auto column dense
91
92 [pager]
93 diff = "if type >/dev/null 2>&1 diff-highlight; then diff-highlight; else cat; fi | mdw-pager"
94 log = "if type >/dev/null 2>&1 diff-highlight; then diff-highlight; else cat; fi | mdw-pager"
95 show = "if type >/dev/null 2>&1 diff-highlight; then diff-highlight; else cat; fi | mdw-pager"
96
97 [alias]
98 do = "!sh -e -c ' \
99 quiet=; \
100 case $#,$1 in 0, | *,*,*) ;; *,-q) quiet=--quiet; shift ;; esac; \
101 case $quiet in ?*) ;; *) echo \"Entering toplevel\" ;; esac; \
102 (name=\"<toplevel>\"; path=.; toplevel=$(pwd); \
103 sha1=$(git rev-parse HEAD); \
104 set +e; case $# in 1) eval \"$1\" ;; *) \"$@\" ;; esac); \
105 exec git submodule $quiet foreach --recursive \"$@\"' do"
106 egrep = "grep -E"
107 graph = "log --pretty=oneline --abbrev-commit --graph"
108 release = !"sh -e -c ' \
109 [ $# -gt 0 ] || { \
110 echo >&2 \"usage: git release TAG [OPTS]\"; \
111 exit 1; \
112 }; \
113 git tag -as -m \"Release $1.\" \"$@\"' release"
114 catchup = !"perl -e ' \
115 use autodie qw(:all); \
116 if (@ARGV < 2) { \
117 print STDERR \"git catchup REMOTE REF ...\n\"; \
118 exit 2; \
119 } \
120 @c = (); $m = shift @ARGV; \
121 for my $r (@ARGV) { \
122 my ($p, $r) = $r =~ /^([+]*)(.*)$/; \
123 push @c, \"$p$m/$r:$r\"; \
124 } \
125 exec \"git\", \"push\", \".\", @c'"
126 amend = !"env EDITOR=true VISUAL=true git commit --amend -a"
127 spaces = !"sh -e -c 'git ls-files -z \"$@\"| \
128 xargs -0r space -cv' spaces"
129 files = "ls-files --exclude-standard"
130 unstg = !"sh -e -c ' \
131 : ${GIT_DIR=$(git rev-parse --git-dir)}; \
132 if [ $# -eq 0 ]; then set -- \"$(stg branch)\"; fi; \
133 for branch; do \
134 rmdir \"$GIT_DIR/patches/$branch/patches\"; \
135 rm -rf \"$GIT_DIR/patches/$branch\"; \
136 git for-each-ref -s \
137 --format \"git update-ref -d %(refname) %(objectname)\" \
138 \"refs/patches/$branch\" \"refs/bases/$branch\" | \
139 sh -e; \
140 done' unstg"
141
142 [rerere]
143 enabled = yes
144 autoupdate = yes
145
146 [stgit]
147 autoresolved = yes
148 smtpdelay = 0
149
150 [mail "alias"]
151 git = git@vger.kernel.org
152 mdw = mdw@distorted.org.uk
153
154 [sendemail]
155 from = Mark Wooding <mdw@distorted.org.uk>
156 aliasesfile = @profile@/dot/mailrc
157 aliasfiletype = mailrc
158 chainreplyto = no
159 thread = no
160 signedoffbycc = yes
161 suppresscc = self
162
163 [mailinfo]
164 scissors = true
165
166 [gui]
167 fontui = -family Sans -size 10
168 fontdiff = -family Fixed -size 13
169
170 [http]
171 cookiefile = @home@/.gitcookies