dot/gitconfig.in: Run `diff-highlight' from the path, if it's there.
[profile] / dot / gitconfig.in
index 4ace82d..0ec6ed2 100644 (file)
@@ -7,6 +7,9 @@
        attributesfile = @profile@/git/attributes
        whitespace = trailing-space,space-before-tab,indent-with-non-tab
 
+[advice]
+       ignoredHook = false
+
 [user]
        name = Mark Wooding
        email = mdw@distorted.org.uk
 [rebase]
        autosquash = true
 
+[pull]
+       rebase = false
+
 [push]
-       default = matching
+       default = upstream
        followTags = true
 
 [format]
        headers = "Organization: Straylight/Edgeware\n"
+       from = Mark Wooding <@email@>
        coverletter = auto
        thread = shallow
        signature = "[mdw]"
+       outputdirectory = p/
 
 [color]
        ui = auto
        local = normal
        remote = cyan
 
-[color "grep"]
-       external = --color=always
+[column]
+       ui = auto column dense
 
 [pager]
-       log = perl /usr/share/doc/git/contrib/diff-highlight/diff-highlight | less
-       show = perl /usr/share/doc/git/contrib/diff-highlight/diff-highlight | less
-       diff = perl /usr/share/doc/git/contrib/diff-highlight/diff-highlight | less
+       diff = "if type >/dev/null 2>&1 diff-highlight; then diff-highlight; else cat; fi | mdw-pager"
+       log = "if type >/dev/null 2>&1 diff-highlight; then diff-highlight; else cat; fi | mdw-pager"
+       show = "if type >/dev/null 2>&1 diff-highlight; then diff-highlight; else cat; fi | mdw-pager"
 
 [alias]
+       do = "!sh -e -c ' \
+               quiet=; \
+               case $#,$1 in 0, | *,*,*) ;; *,-q) quiet=--quiet; shift ;; esac; \
+               case $quiet in ?*) ;; *) echo \"Entering toplevel\" ;; esac; \
+               (name=\"<toplevel>\"; path=.; toplevel=$(pwd); \
+                sha1=$(git rev-parse HEAD); \
+                set +e; case $# in 1) eval \"$1\" ;; *) \"$@\" ;; esac); \
+               exec git submodule $quiet foreach --recursive \"$@\"' do"
        egrep = "grep -E"
-       patches = "format-patch --full-index"
        graph = "log --pretty=oneline --abbrev-commit --graph"
        release = !"sh -e -c ' \
                [ $# -gt 0 ] || { \
                  exit 1; \
                }; \
                git tag -as -m \"Release $1.\" \"$@\"' release"
+       catchup = !"perl -e ' \
+               use autodie qw(:all); \
+               if (@ARGV < 2) { \
+                 print STDERR \"git catchup REMOTE REF ...\n\"; \
+                 exit 2; \
+               } \
+               @c = (); $m = shift @ARGV; \
+               for my $r (@ARGV) { \
+                 my ($p, $r) = $r =~ /^([+]*)(.*)$/; \
+                 push @c, \"$p$m/$r:$r\"; \
+               } \
+               exec \"git\", \"push\", \".\", @c'"
        amend = !"env EDITOR=true VISUAL=true git commit --amend -a"
        spaces = !"sh -e -c 'git ls-files -z \"$@\"| \
                xargs -0r space -cv' spaces"
        aliasesfile = @profile@/dot/mailrc
        aliasfiletype = mailrc
        chainreplyto = no
+       thread = no
        signedoffbycc = yes
        suppresscc = self
 
+[mailinfo]
+       scissors = true
+
 [gui]
        fontui = -family Sans -size 10
        fontdiff = -family Fixed -size 13