[user]
        name = martin f. krafft
        email = madduck@madduck.net
-       signingkey = 330c4a75
+       signingkey = 999bbcc4
 [core]
-       pager = cat
-[gui]
-       fontui = -family rotissansserif -size 10 -weight bold -slant roman -underline 0 -overstrike 0
+       pager = "less --quit-if-one-screen --raw-control-chars --no-init --hilite-search --SILENT"
+       quotePath = false
+[diff]
+       renames = copies
 [alias]
        restore = checkout HEAD
-       dist = "!git archive --format=tar -v --prefix=$(git describe HEAD)/ $(git describe HEAD) | gzip -9 > ../$(git describe HEAD).tar.gz"
-       st = status
-       co = checkout
-       ci = commit -a
-       stat = status
+       dist = "!git archive --format=tar -v --prefix=$(git describe HEAD | sed -e 's,-,///,;s,-,+,g;s,///,-,')/ HEAD | gzip -9 > ../$(git describe HEAD | sed -e 's,-,///,;s,-,+,g;s,///,-,').tar.gz"
+       ddist = "!git dist && mv ../$(git describe HEAD | sed -e 's,-,///,;s,-,+,g;s,///,-,').tar.gz ../$(git describe HEAD | sed -e 's,-,_,;s,-,+,g').orig.tar.gz"
        files = ls-files -v --deleted --modified --others --directory --no-empty-directory --exclude-standard
+       sum = log --pretty=format:\"%h %Cblue%ci%Creset %Cgreen%cn%Creset %s\"
+       unstage = reset HEAD
+       sq = "!merge_squash_commit() { git merge --squash \"$1\" && git commit -m \"$1 squash\"; }; merge_squash_commit"
+       fixup = "!fixup_commit() { local c=\"$1\"; shift; git commit --fixup=\"$c\" \"$@\"; }; fixup_commit"
+       lst = "!cd $GIT_PREFIX && git status | grep -E --color=never -e '^([^[:space:]]|$|[[:space:]]+[^.( ])'"
 [clean]
        requireForce = true
 [branch]
        autosetupmerge = true
+       autosetuprebase = remote
+[merge]
+       tool = vimdiff
+[merge "dpkg-mergechangelogs"]
+       name = debian/changelog merge driver
+       driver = dpkg-mergechangelogs -m %O %A %B %A
+[diff]
+       tool = vimdiff
+[gui]
+       fontui = -family rotissansserif -size 10 -weight bold -slant roman -underline 0 -overstrike 0
+[color]
+       branch = auto
+       diff = auto
+       interactive = auto
+       status = auto
+       ui = auto
+[url "ssh://git.debian.org/git/"]
+       insteadOf = alioth:
+[url "ssh://git@git.madduck.net/madduck/"]
+       insteadOf = madduck:
+[url "git://git.madduck.net/madduck/pub/"]
+       insteadOf = madduck-anon:
+[url "ssh://git@git.madduck.net/madduck/pub/"]
+       pushInsteadOf = madduck-anon:
+[url "ssh://git@git.madduck.net/madduck/pub/"]
+       pushInsteadOf = git://git.madduck.net/madduck/pub/
+[url "ssh://git.madduck.net/madduck/pub/"]
+       insteadOf = madduck-pub:
+[url "ssh://git.gern.madduck.net/srv/git/"]
+       insteadOf = pmg:
+[url "ssh://shared.gern.madduck.net/srv/gern/"]
+       insteadOf = pm:
+[url "ssh://git@git.madduck.net/gitolite-admin"]
+       insteadOf = gitolite-admin:
+[url "ssh://git@admin.madduck.net/"]
+       insteadOf = sysadmin:
+[push]
+       default = matching
+[sendemail]
+       confirm = auto
+       assume8bitEncoding = true
+[help]
+       autocorrect = 5
+[format]
+       signoff = true
+[rerere]
+       enabled = true
+[rebase]
+       autosquash = true