X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=gitconfig.m4;h=ee62097e67d98262e41550ef9ec0165880e065ab;hb=7f38887f667ef0d6adfaef19b75543a86e15606e;hp=2ecbc64abd46e81409a03a0807e3638277762818;hpb=91c343f27970bef686b695f386505b8d1d88c098;p=config%2Fdotfiles.git diff --git a/gitconfig.m4 b/gitconfig.m4 index 2ecbc64..ee62097 100644 --- a/gitconfig.m4 +++ b/gitconfig.m4 @@ -1,6 +1,6 @@ # Global Git configuration file. -# Copyright (C) 2011-2012 Simon Ruderich +# Copyright (C) 2011-2013 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 @@ -42,20 +42,29 @@ include(../lib.m4) [core] editor = vim - # Can't use ~/ because of older git versions. - excludesfile = GITIGNORE + # Global gitattributes file. Thanks to canton7 in #git on Freenode + # (2011-11-09 13:23 CET). + attributesfile = PWD/gitattributes # Use pager for the following commands. [pager] status = yes tag = yes +[interactive] + # Don't require in interactive commands which require only a + # single key, for example `git add --patch`. Requires Perl module + # Term::Readkey. + singlekey = yes + [alias] ## Shortcuts for often used commands. # ## Local. c = commit --verbose ci = commit --verbose + ca = commit --verbose --amend + cad = commit --verbose --amend --date= d = diff PATIENCE di = diff PATIENCE dw = diff PATIENCE --color-words @@ -66,6 +75,7 @@ include(../lib.m4) l = log ls = log --stat lp = log --patch PATIENCE + lpw = log --patch PATIENCE --color-words a = add ap = add --patch au = add --update @@ -106,14 +116,41 @@ include(../lib.m4) ## Misc. sl = stash list ss = stash save + ssk = stash save --keep-index sa = stash apply sp = stash pop - ssk = stash save --keep-index ## Custom commands. # - # tig-like log view. - tig = log --pretty=oneline --graph --all --decorate --abbrev-commit + # tig-like log view. Similar to the following but with author/date + # information. --pretty=format is not used because it doesn't allow + # precise enough control over formats and colors. + # + # tig = log --pretty=oneline --graph --all --decorate --abbrev-commit + tig = ! PWD/bin/tig.pl + + # Create backup of uncommitted and untracked changes. + ssb = "! git stash save --include-untracked \ + \"Backup on $(date -R)\" >/dev/null \ + && git stash apply >/dev/null" + + # Display list and content of untracked files. Untracked directories + # and symbolic links are only listed. + u = "! git ls-files --other --exclude-standard --directory -z \ + | xargs -0 sh -c '\ + for x; do \ + printf \"\\033[1;33m-> %s\\033[0m:\" \"$x\"; \ + if test -d \"$x\"; then \ + echo \" directory\"; \ + elif test -h \"$x\"; then \ + echo \" symbolic link\"; \ + else \ + echo; \ + cat \"$x\"; \ + fi; \ + echo; \ + done' argv0 \ + | less" [diff] # Detect copies and renames. @@ -130,14 +167,15 @@ include(../lib.m4) 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`. [diff "gzip"] textconv = gzip -d -c [diff "pdf"] - textconv = pdftotext- + textconv = PWD/bin/pdftotext- [diff "sqlite"] - textconv = sqlite3dump + textconv = PWD/bin/sqlite3dump [merge] IF(OS, darwin) @@ -152,9 +190,9 @@ FI # replies to the first one. thread = shallow -[receive] +[transfer] # Automatically fsck objects when receiving them (respected by git # receive-pack and git fetch (>= 1.7.8, for fetch)). fsckobjects = true -# vim: ft=gitconfig noet +# vim: ft=gitconfig