X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=gitconfig.m4;h=3561376dbf69b69698c4ffecbf2dc6489d8b3434;hb=74faba281912afa6f30f1bf8df6999dd16f911c8;hp=66c73761245e5a4aad1706b131a88be64ab74382;hpb=c132a73d71bfb6de4bdbe4ea935e5df7968dd179;p=config%2Fdotfiles.git diff --git a/gitconfig.m4 b/gitconfig.m4 index 66c7376..3561376 100644 --- a/gitconfig.m4 +++ b/gitconfig.m4 @@ -42,6 +42,9 @@ include(../lib.m4) [core] editor = vim + # 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] @@ -50,7 +53,8 @@ include(../lib.m4) [interactive] # Don't require in interactive commands which require only a - # single key, for example `git add --patch`. + # single key, for example `git add --patch`. Requires Perl module + # Term::Readkey. singlekey = yes [alias] @@ -58,33 +62,30 @@ include(../lib.m4) # ## 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 dc = diff PATIENCE --cached dcw = diff PATIENCE --cached --color-words + ds = diff --stat s = status - st = status l = log ls = log --stat lp = log --patch PATIENCE + lpw = log --patch PATIENCE --color-words a = add ap = add --patch au = add --update ## Branches. co = checkout b = branch -a -v - br = branch -a -v m = merge - me = merge mo = merge origin/master ## Remote. f = fetch - fe = fetch t = tag p = push - pu = push # Parallel git remote update. Also strips unnecessary output. ru = "! git remote \ | xargs -d '\\n' -n1 -P0 git remote update 2>&1 \ @@ -110,6 +111,7 @@ include(../lib.m4) sl = stash list ss = stash save ssk = stash save --keep-index + ssu = stash save --include-untracked sa = stash apply sp = stash pop @@ -120,7 +122,31 @@ include(../lib.m4) # precise enough control over formats and colors. # # tig = log --pretty=oneline --graph --all --decorate --abbrev-commit - tig = ! TIG | less + tig = ! PWD/bin/tig.pl + + # Create backup of uncommitted and untracked changes. + ssb = "! git stash save --include-untracked \ + \"Backup on $(LANG=C date '+%a, %d %b %Y %H:%M:%S %z')\" \ + >/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. @@ -143,17 +169,12 @@ include(../lib.m4) [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) - tool = opendiff -FI -IF(OS, debian) tool = vimdiff -FI [format] # When using git format-patch use threads and add all patches as @@ -165,4 +186,4 @@ FI # receive-pack and git fetch (>= 1.7.8, for fetch)). fsckobjects = true -# vim: ft=gitconfig noet +# vim: ft=gitconfig