diff options
Diffstat (limited to '.config/git')
| -rw-r--r-- | .config/git/config | 336 | ||||
| -rw-r--r-- | .config/git/ignore | 60 |
2 files changed, 0 insertions, 396 deletions
diff --git a/.config/git/config b/.config/git/config deleted file mode 100644 index 141d409..0000000 --- a/.config/git/config +++ /dev/null @@ -1,336 +0,0 @@ -[user] - name = Robert Günzler - email = r@gnzler.io - ; signingkey = AF6AB8C8B10436B9F61293632143BD2AAB94BCC4 - signingkey = ~/.ssh/id_ed25519.pub - -[gpg] - format = ssh - -[sendemail] - from = Robert Günzler <r@gnzler.io> - smtpServer = smtp.mailfence.com - smtpEncryptionn = ssl - smtpUser = robert@gnzler.de - annotate = true - multiEdit = true - confirm = always - -[credential "git.sr.ht"] - username = robertgzr - helper = !sh -c 'rbw get c7e750ea-6713-4254-90e7-6e077b552ffa | xargs printf password=%s\\n' - -[credential "github.com"] - username = robertgzr - helper = !sh -c 'rbw get f94a873d-9d72-412e-a46d-53e4cd19a291 | xargs printf password=%s\\n' - -[credential "smtp.mailfence.com"] - username = robert@gnzler.de - helper = !sh -c 'rbw get 68b0ea26-733a-43cd-b8f8-e8ecc98de072 | xargs printf password=%s\\n' - -[core] - excludesfile = $HOME/.config/git/ignore - - # Treat spaces before tabs and all kinds of trailing whitespace as an error - # [default] trailing-space: looks for spaces at the end of a line - # [default] space-before-tab: looks for spaces before tabs at the beginning of a line - whitespace = space-before-tab,-indent-with-non-tab,-trailing-space - - # Make `git rebase` safer on OS X - # More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/> - trustctime = false - - # Prevent showing files whose names contain non-ASCII symbols as unversioned. - # http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html - precomposeunicode = false - filemode = false - - # enable coditional paging based on the amount of content - ; pager = "less -F -X" - pager = "diff-highlight | less -FRX --tabs=4" - autocrlf = false - longpaths = true - - askPass = "~/bin/askpass" - -[init] - defaultBranchName = master - # templateDir = ~/.dotfiles/git/templates - -[interactive] - diffFilter="diff-highlight | less -FRX --tabs=4" - -[log] - date = iso-strict-local - ; date = relative - -[format] - signoff = true - coverLetter = false - -[column] - ui = auto - -[commit] - template = ~/.config/git/message - gpgSign = true - verbose = true - -[alias] - stp = status --porcelain --branch - sti = status --porcelain --branch --ignored - st = status -sb - stl = ls-files -m -o --exclude-standard - a = add --patch - ci = commit - br = branch - co = checkout - sw = switch - cp = cherry-pick - d = diff - df = diff --word-diff - ds = diff --staged - dl = diff --stat - diffthis = "!f(){ rev=${1:-HEAD}; git log --color=always -1 ${rev}; echo; git --no-pager diff --color=always -p --patch-with-stat ${rev}^..${rev}; }; f" - dt = diffthis - ; diffsummary = "!f() { local a=${1:-HEAD}; local b=${2:-master}; if [[ $a == '-' ]]; then a=HEAD; fi; printf ' %s is %s commits ahead and %s commits behind %s\n' `git rev-parse --short=7 $a` `git rev-list --count $b..$a` `git rev-list --count $a..$b` $b; printf ' last common commit (merge-base): %s\n' `git merge-base $a $b`; git diff --shortstat $a..$b; }; f" - dft = difftool - unstage = reset --hard HEAD - lp = log --graph --pretty=format:'%Cred%h%Creset%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit - ll = log --pretty=oneline --graph --decorate --abbrev-commit - lol = ll - lla = ll --all - lola = lla - g = grep --break --heading --line-number - amend = ci --amend --reuse-message=HEAD --edit - show-ignored = "! git clean -ndX | perl -pe 's/Would remove/Ignored:/'" - # usage: change-date [rev] [date] [...additional filter-branch flags] - # rewrites the commit/author date of <rev> to be <date> - # if <rev> is empty HEAD is used - # if <date> is empty the current time is used - change-date = "!f() { now=\"$(date +'%a %b %d %H:%M:%S %Y %z')\"; head=\"$(git rev-parse HEAD)\"; git filter-branch $3 --env-filter 'if [[ $GIT_COMMIT = ${1-$head} ]]; then export GIT_AUTHOR_DATE=${2:-$now}; export GIT_COMMITTER_DATE=${2:-$now}; fi'; }; f" - # usage: ld <n> - # prints out the `git log` for the n last days - log-since = "!sh -c \"git log --since '${1:-1} days ago' --oneline --author $(git config user.email)\" -" - # usage: pr <num> [<remote>] - # creates local branch pr/<num> from origin or <remote> and checks it out - ; pr = "!f() { git fetch -fu ${2:-origin} refs/pull/${1:?missing pr num}/head:pr/$1 && git checkout pr/$1; }; f" - total-lines = "! git ls-tree -r master --name-only | xargs -I {} git blame --line-porcelain {} | sed -n 's/^author //p' | sort | uniq -c | sort -rn" - fixup = "!f() { git commit --fixup=${1}; }; f" - fix = "!f() { git fixup ${1} && git ri ${1}^; }; f" - squash = "!f() { git commit --squash=${1}; }; f" - ri = rebase --autostash --autosquash -i # -x 'git hook run pre-commit' - ri-pr = !bash -c 'git ri `git merge-base HEAD ${1:-origin/master}`' - mt = mergetool - pushf = push --force-with-lease - root = "rev-parse --show-toplevel" - trailer = "!f() { trailer=${1:?TRAILER}; ref=${2:-HEAD}; mode='--amend'; [ $ref != 'HEAD' ] && mode='--fixup=$ref'; msg=$(git rev-parse --show-toplevel)/LAST_COMMIT_MSG; git log -1 --format=%B $ref > $msg; git interpret-trailers --in-place --trailer $trailer $msg; git commit --allow-empty --no-verify --only --edit --file $msg $mode; rm $msg; }; f" - ; oldest-ancestor = !bash -c 'diff -u <(git rev-list --first-parent ${1:-master}) <(git rev-list --first-parent ${2:-HEAD}) | sed -ne \"s/^ //p\" | head -1' - ; oldest-ancestor = !bash -c 'git merge-base ${1:-master} ${2:-HEAD}' - rebaseonto = "!f() { git ri --onto=${1:-origin/master} $(git merge-base ${1:-origin/master} ${2:-HEAD}); }; f" - ro = rebaseonto - find-by-subject = "!f() { set -ex; s=`git log -1 --format=%s ${1}`; git --no-pager log -1 --grep=\"^${s}$\" --no-merges ${2}; }; f" - tig = !tig - amend = commit --amend - fixnow = "!f() { git commit --fixup=${1} && git ri ${1}^; }; f" - b = !fzfez git-branches | head -n1 | xargs -r git switch - l = !fzfez git-log - t = !fzfez git-tags - pushall = "!f() { args=$@; git remote show -n | xargs -I{} sh -c \"set -x;git push {} $args\"; }; f" - pushfall = "!f() { args=$@; git remote show -n | xargs -I{} sh -c \"set -x;git pushf {} $args\"; }; f" - ; git-hack shortcuts - ; hack = hack hack - ; sync = hack sync - owners = "!f() { ref=\"$(git branch --format='%(upstream:short)'|head -n1)\"; git diff --name-only $ref | xargs -I{} git shortlog -nse $ref {} | sort -k2 | uniq -f2 | sed 's/^[ ]*//' | sort -gr | cut -f2; }; f" - owners = "!f() { local path=$(git ls-files --full-name $1) ref=$(git branch --format='%(upstream:short)'|head -n1); git shortlog -nse $ref $path; }; f" - reviewers = "!f() { ref=\"$(git branch --format='%(upstream:short)'|head -n1)\"; git diff --name-only $ref | xargs -I{} git shortlog -nse --group=trailer:reviewed-by $ref {} | sort -k2 | uniq -f2 | sed 's/^[ ]*//' | sort -gr | cut -f2; }; f" - -[apply] - # Detect whitespace errors when applying a patch - whitespace = fix - -[color "branch"] - current = yellow reverse - local = yellow - remote = green - -[color "diff"] - meta = yellow bold - frag = magenta bold # line info - old = red # deletions - new = green # additions - -[color "status"] - added = yellow - changed = green - untracked = cyan - -[diff] - # Detect copies as well as renames - renames = copies - renameLimit = 3210 - tool = difftastic - -[diff "bin"] - # Use `hexdump` to diff binary files - textconv = hexdump -v -C - renames = copies - tool = vimdiff - -[difftool] - prompt = false - -[difftool "difftastic"] - cmd = difft "$LOCAL" "$REMOTE" - -[pager] - difftool = true - -[fetch] - prune = true - -[submodule] - recurse = true - -[pull] - rebase = true - autostash = true - -[grep] - lineNumber = true - -[help] - # Automatically correct and execute mistyped commands - autocorrect = 10 - -[merge] - # Include summaries of merged commits in newly created merge commit messages - log = true - defaultToUpstream = true - tool = vimdiff - -[mergetool "vimdiff"] - path = /usr/bin/nvim - conflictstyle = diff3 - prompt = false - -[rebase] - ; instructionFormat = "%aI %an <%ae> | %s" - -[rerere] - enabled = false - -[push] - # Use the Git 1.x.x default to avoid errors on machines with old Git - # installations. To use `simple` instead, add this to your `~/.extra` file: - # `git config --global push.default simple`. See http://git.io/mMah-w. - default = simple - # Make `git push` push relevant annotated tags when pushing branches out. - followTags = true - # Automatically setup a tracking branch - autoSetupRemote = true - -[tag] - gpgsign = true - -[safe] - directory = /var/tmp/portage/* - directory = /var/cache/distfiles/git3-src/* - -# URL shorthands - -; [url "git@github.com:"] -; insteadOf = "https://github.com/" -; pushInsteadOf = "git://github.com/" - -; [url "git@bitbucket.org:"] -; insteadOf = "https://bitbucket.org/" -; pushInsteadOf = "git://bitbucket.org/" - -; [url "git@gitlab.com:"] -; insteadOf = "https://gitlab.com/" -; pushInsteadOf = "git://gitlab.com/" - -; [url "git@git.sr.ht:"] -; insteadOf = "https://git.sr.ht/" -; pushInsteadOf = "git://git.sr.ht/" - -; [url "git@gist.github.com:"] -; insteadOf = "gist:" -; pushInsteadOf = "git://gist.github.com/" - -[http] - sslverify = true - cookiefile = /home/robert/.gitcookies - -[trailer "changetype"] - key = "Change-type" -[trailer "connects"] - key = "Connects-to" -[trailer "depends"] - key = "Depends-on" -[trailer "changelog"] - key = "Changelog-entry" -[trailer "coauthor"] - key = "Co-authored-by" -[trailer "reviewed"] - key = "Reviewed-by" -[trailer "tested"] - key = "Tested-by" -[trailer "fixes"] - key = "Fixes" - -; TIG config -[tig] - main-view = id date author commit-title:graph=yes,refs=yes - blame-view = date:default author id:yes,color line-number:yes,interval=1 text - pager-view = line-number:yes,interval=1 text - stage-view = line-number:yes,interval=1 text - log-view = line-number:yes,interval=1 text - blob-view = line-number:yes,interval=1 text - diff-view = line-number:yes,interval=1 text:yes,commit-title-overflow=no - line-graphics = utf-8 - tab-size = 4 - ignore-space = at-eol - ignore-case = true - split-view-height = 80% - diff-options = -m --first-parent - mouse = true - editor-line-number = yes - refresh-mode = auto - diff-highlight = true - -[tig "color"] - diff-header = default magenta - diff-chunk = black white - -[tig "bind"] - generic = I !@wl-copy -n "%(commit)" - generic = G move-last-line - generic = V view-pager - ; generic = <Ctrl-n> find-next - ; generic = <Ctrl-p> find-prev - ; generic = <Ctrl-l> scroll-right - ; generic = <Ctrl-h> scroll-left - ; generic = <Ctrl-g> refresh - generic = ~ :goto %(commit)^ - - main = g none - main = gg move-first-line - main = G move-last-line - main = <esc>g :toggle commit-title-graph - - diff = g none - diff = gg move-first-line - diff = G move-last-line - diff = n :/^@@ - diff = p :?^@@ - - stage = n :/^@@ - stage = p :?^@@ - - pager = n :/^@@ - pager = p :?^@@ - - log = n :/^commit - log = p :?^commit diff --git a/.config/git/ignore b/.config/git/ignore deleted file mode 100644 index 33b0186..0000000 --- a/.config/git/ignore +++ /dev/null @@ -1,60 +0,0 @@ -# Random -*~ -._* -Thumbs.db -.DS_Store* -Desktop.ini -.idea -ehthumbs.db -Icon* -Session.vim - -# external -.Spotlight-V100 -.Trashes - -# compiled -*.o -*.out -*.pyc -*.so -*.exe -*.class -*.dll -bin/ -tags - -# logs and db -*.log -*.sql -*.sqlite -*.db - -# packages -*.7z -*.dmg -*.gz -*.iso -*.jar -*.rar -*.tar -*.zip - -# web stuff -node_modules -bower_components - -# personal stuff -.todo.md -.org.md - -# clangd -.cache/ - -# cargo -target/debug/build/ -target/release/build/ - -# zig -zig-out/ -.zig-cache/ |