X-Git-Url: https://ruderich.org/simon/gitweb/?p=config%2Fdotfiles.git;a=blobdiff_plain;f=vcs%2Fgitconfig.in;h=b438ffd7e91714f174fd77dabad4699f605b20b4;hp=ce370a50f45fc3fc70457f34b26365c769d39d26;hb=HEAD;hpb=c6d4ddd552ee8c9ecda52e806bfe5d706baf307c diff --git a/vcs/gitconfig.in b/vcs/gitconfig.in index ce370a5..b438ffd 100644 --- a/vcs/gitconfig.in +++ b/vcs/gitconfig.in @@ -1,6 +1,6 @@ # Global Git configuration file. -# Copyright (C) 2011-2018 Simon Ruderich +# Copyright (C) 2011-2023 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 @@ -20,41 +20,9 @@ name = Simon Ruderich email = simon@ruderich.org -[color] - ui = auto - -[color "diff"] - # Meta information. - meta = yellow bold - # Hunk header. - frag = magenta bold - # Function in hunk header. - func = blue bold - # Removed lines. - old = red bold - # Added lines. - new = green bold - # Commit headers. - commit = cyan - -[color "grep"] - # GNU grep-like colors. - filename = magenta - linenumber = green - -[core] - editor = vim - -[pager] - # Use pager for the following commands. - status = true - tag = true - -[interactive] - # Don't require in interactive commands which require only a - # single key, for example `git add --patch`. Requires Perl module - # Term::Readkey. - singlekey = true +[advice] + # Disable annoying advice messages. + waitingForEditor = false [alias] ## Shortcuts for often used commands. @@ -76,7 +44,7 @@ ls = log --stat lp = log --patch lpw = log --patch --color-words - ld = show --date=short --no-patch --pretty='format:%h (\"%s\", %ad)' # describe + ld = show --no-patch --date=short --pretty='format:%h (%s, %ad)' # describe, same as --pretty=reference a = add ap = add --patch au = add --update @@ -102,6 +70,7 @@ f = fetch t = tag p = push + pf = push --force-with-lease # Parallel git remote update. Also strips unnecessary output. ru = "! git remote \ | xargs -d '\\n' -n1 -P0 git remote update 2>&1 \ @@ -164,6 +133,31 @@ done' argv0 \ | less" +[color] + ui = auto + +[color "diff"] + # Meta information. + meta = yellow bold + # Hunk header. + frag = magenta bold + # Function in hunk header. + func = blue bold + # Removed lines. + old = red bold + # Added lines. + new = green bold + # Commit headers. + commit = cyan + +[color "grep"] + # GNU grep-like colors. + filename = magenta + linenumber = green + +[core] + editor = vim + [diff] # Detect copies and renames. renames = copy @@ -174,6 +168,10 @@ # Highlight moved code in a different color. colorMoved = zebra + # Highlight whitespace errors (at the end of the line) in all lines of + # a diff; the default shows them only in new lines + wsErrorHighlight = old,new,context + # Replace "a/" and "b/" prefix in diffs with characters describing the # context (e.g. "i/"ndex and "w/"ork tree). mnemonicprefix = true @@ -201,6 +199,24 @@ #[diff "sqlite"] # textconv = sh -c 'exec sqlite3 "$@" .dump' ARGV0 +[format] + # When using git format-patch use threads and add all patches as + # replies to the first one. + thread = shallow + +[init] + # Don't create .git/hooks with any sample hooks. Reduces the clutter + # in new git repositories. + templateDir = + # Keep the default branch name + defaultBranch = master + +[interactive] + # Don't require in interactive commands which require only a + # single key, for example `git add --patch`. Requires Perl module + # Term::Readkey. + singlekey = true + [log] # Display branches/tag names in log (same as log's --decorate option). decorate = short @@ -213,10 +229,10 @@ # Merge upstream branch if `git merge` is called without arguments. defaultToUpstream = true -[rebase] - # Use single-letter command names in git rebase -i which are faster to - # change. - abbreviateCommands = true +[pager] + # Use pager for the following commands. + status = true + tag = true [push] # When running git push without a refspec push only the current @@ -224,32 +240,37 @@ # 2.0. default = simple -[format] - # When using git format-patch use threads and add all patches as - # replies to the first one. - thread = shallow +[rebase] + # Use single-letter command names in git rebase -i which are faster to + # change. + abbreviateCommands = true + +[safe] + # Ignore embedded bare repositories to prevent executing arbitrary + # commands from untrusted repositories + bareRepository = explicit + +[tag] + # Sort tags as version numbers + sort = version:refname [transfer] # Automatically fsck objects when receiving them (respected by git # receive-pack and git fetch (>= 1.7.8, for fetch)). fsckObjects = true -[advice] - # Disable annoying advice messages. - waitingForEditor = false - -[init] - # Don't create .git/hooks with any sample hooks. Reduces the clutter - # in new git repositories. - templateDir = - # Keep the default branch name - defaultBranch = master - # NON-GIT SETTINGS [annex] # My SSH config already uses ControlMaster where appropriate. sshcaching = false + # Don't upgrade repositories automatically + autoupgraderepository = false + # Force `git add` to add to git, never to annex + gitaddtoannex = false + # Consider dotfiles to be `git annex add`able; restrictions of + # annex.largefiles (if set) are still applied + dotfiles = true # vim: ft=gitconfig