X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=gitconfig.m4;h=7d8d6c4466b683e812feb87a77dbc4a91df5151c;hb=2eef5463417d581034bfbacb016114d0a5be3434;hp=4fec07701d98463390b1bc99c45ba34a144405e1;hpb=4daf3588f9130eb18d5f4de95f36027c36f1667d;p=config%2Fdotfiles.git diff --git a/gitconfig.m4 b/gitconfig.m4 index 4fec077..7d8d6c4 100644 --- a/gitconfig.m4 +++ b/gitconfig.m4 @@ -1,3 +1,24 @@ +# Global Git configuration file. + +# Copyright (C) 2011-2012 Simon Ruderich +# +# This file is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . + + +dnl Load m4 macros. +include(../lib.m4) + [user] name = Simon Ruderich email = simon@ruderich.org @@ -5,24 +26,104 @@ [color] ui = auto +[color "diff"] + # Meta information. + meta = yellow bold + # Hunk header. + frag = magenta bold + # Function in hunk header. + function = magenta bold + # Removed lines. + old = red bold + # Added lines. + new = green bold + # Commit headers. + commit = cyan + [core] editor = vim + # Can't use ~/ because of older git versions. excludesfile = GITIGNORE +# Use pager for the following commands. +[pager] + status = yes + tag = yes + [alias] # Shortcuts for often used commands. - ci = commit -v - di = diff - st = status - co = checkout - br = branch - me = merge + # + # Local. + c = commit --verbose + ci = commit --verbose + d = diff PATIENCE + di = diff PATIENCE + dw = diff PATIENCE --color-words + dc = diff PATIENCE --cached + dcw = diff PATIENCE --cached --color-words + s = status + st = status + l = log + ls = log --stat + lp = log --patch PATIENCE + a = add + ap = add --patch + au = add --update + # Branches. + co = checkout + b = branch -a -v + br = branch -a -v + m = merge + me = merge + # Remote. + f = fetch + fe = fetch + t = tag + p = push + pu = push + ru = remote update + # Patches. + fp = format-patch + # Misc. + fs = fsck --strict --full + sl = stash list + ss = stash save + sa = stash apply + ssk = stash save --keep-index + # Custom commands. + # + # tig-like log view. glog = log --pretty=oneline --graph --all + # Push to all remotes. Thanks to albel727 in #git on Freenode + # (2011-06-04 16:06 CEST) for the idea. + rp = ! git remote | xargs -L1 -I{} git push {} + +[diff] + # Detect copies and renames. + renames = copy + +# Allow diffing of some binary files. +# `pdftotext-` is a wrapper around pdftotext which writes to stdout. +# `sqlite3dump` is a wrapper calling `sqlite3 database-file .dump`. +[diff "gzip"] + textconv = gzip -d -c +[diff "pdf"] + textconv = pdftotext- +[diff "sqlite"] + textconv = sqlite3dump [merge] IF(OS, darwin) tool = opendiff FI +IF(OS, debian) + tool = vimdiff +FI + +[format] + # When using git format-patch use threads and add all patches as + # replies to the first one. + thread = shallow # vim: ft=gitconfig