X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=gitconfig.in;h=9fd76ba7af18af483ad9134f5d91665e96c91999;hb=0364d08152c0e6613d6fb3580a22f7d042c84439;hp=a04b7574ab23ed255839f6f7f56f7b9b050613d2;hpb=917248b29e9f635f27a533034f655cc110e2cca7;p=config%2Fdotfiles.git diff --git a/gitconfig.in b/gitconfig.in index a04b757..9fd76ba 100644 --- a/gitconfig.in +++ b/gitconfig.in @@ -1,6 +1,6 @@ # Global Git configuration file. -# Copyright (C) 2011-2013 Simon Ruderich +# Copyright (C) 2011-2017 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 @@ -29,7 +29,7 @@ # Hunk header. frag = magenta bold # Function in hunk header. - function = magenta bold + func = blue bold # Removed lines. old = red bold # Added lines. @@ -37,6 +37,11 @@ # Commit headers. commit = cyan +# GNU grep-like colors. +[color "grep"] + filename = magenta + linenumber = green + [core] editor = vim # Global gitattributes file. Thanks to canton7 in #git on Freenode @@ -61,24 +66,41 @@ c = commit --verbose ca = commit --verbose --amend cad = commit --verbose --amend --date= - d = diff --patience - dw = diff --patience --color-words - dc = diff --patience --cached - dcw = diff --patience --cached --color-words + d = diff + dw = diff --color-words ds = diff --stat + dc = diff --cached + dcw = diff --cached --color-words + dcs = diff --cached --stat + g = grep + gi = grep --ignore-case s = status l = log ls = log --stat - lp = log --patch --patience - lpw = log --patch --patience --color-words + lp = log --patch + lpw = log --patch --color-words + ld = show --date=short -s --pretty='format:%h (\"%s\", %ad)' # describe a = add ap = add --patch au = add --update + rs = reset + rsh = reset --hard + rsp = reset --patch + rv = revert + cl = clean -ndx + clf = clean -fdx ## Branches. co = checkout b = branch -a -v + br = branch m = merge mo = merge origin/master + re = rebase + rei = rebase --interactive + rec = rebase --continue + cp = cherry-pick + ## Submodules. + sm = submodule ## Remote. f = fetch t = tag @@ -109,8 +131,8 @@ ss = stash save ssk = stash save --keep-index ssu = stash save --include-untracked - sa = stash apply - sp = stash pop + sa = stash apply --index + sp = stash pop --index ## Custom commands. # @@ -149,6 +171,16 @@ # Detect copies and renames. renames = copy + # Diff algorithm to use. + algorithm = histogram + + # Highlight moved code in a different color. + colorMoved = zebra + + # Replace "a/" and "b/" prefix in diffs with characters describing the + # context (e.g. "i/"ndex and "w/"ork tree). + mnemonicprefix = true + # Change the definition of a word as used by diff --color-words to be # shorter (not only spaces) and thus simplify the generated diffs. # Words ([a-zA-Z0-9_]+) are matched, or a single non-word character @@ -157,25 +189,35 @@ # changes to non-word characters are shown character wise (e.g. from # "==" to "!=" as "[-=-]{+!+}="); [-..-] is removal, {+..+} is # addition. See t/ for some tests and examples. - wordregex = [a-zA-Z0-9_]+|[^a-zA-Z0-9_] + wordRegex = [a-zA-Z0-9_]+|[^a-zA-Z0-9_] # 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`. +# "sh -c '..' ARGV0" is used when the programs require additional arguments +# which are passed after ARGV0 by git. [diff "gzip"] textconv = gzip -d -c [diff "pdf"] - textconv = PWD/bin/pdftotext- + textconv = sh -c 'exec pdftotext "$@" -' ARGV0 [diff "sqlite"] - textconv = PWD/bin/sqlite3dump + textconv = sh -c 'exec sqlite3 "$@" .dump' ARGV0 + +[log] + # Display branches/tag names in log (same as log's --decorate option). + decorate = short + # If a single file is given to `git log`, automatically use --follow. + follow = yes [merge] tool = vimdiff + # Merge upstream branch if `git merge` is called without arguments. + defaultToUpstream = yes + [push] # When running git push without a refspec push only the current - # branch, see man page git-config(1) for details. + # branch, see man page git-config(1) for details. Default since Git + # 2.0. default = simple [format] @@ -186,6 +228,13 @@ [transfer] # Automatically fsck objects when receiving them (respected by git # receive-pack and git fetch (>= 1.7.8, for fetch)). - fsckobjects = yes + fsckObjects = yes + + +# NON-GIT SETTINGS + +[annex] + # My SSH config already uses ControlMaster where appropriate. + sshcaching = false # vim: ft=gitconfig