X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=gitconfig.m4;h=0aaf9c0a2f84aa8cabf1df25bfea8d1787b51b21;hb=3d813d58d987714c1be95a7f963df9ba2453bbe7;hp=9ef54b0a873dfe7219002761b0e48060f3971680;hpb=820d6054f0f9a0100aec5ee2e9e9813a58be53a4;p=config%2Fdotfiles.git diff --git a/gitconfig.m4 b/gitconfig.m4 index 9ef54b0..0aaf9c0 100644 --- a/gitconfig.m4 +++ b/gitconfig.m4 @@ -1,5 +1,20 @@ # 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) @@ -11,21 +26,92 @@ include(../lib.m4) [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. - fs = fsck --strict --full + # + # 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) @@ -35,4 +121,9 @@ 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