[user]
	email = aleksander@cynarski.pl
	name = Aleksander Cynarski
    signingkey = C4340BA42B9C173A
[push]
	default = matching
[merge]
	conflictstyle = diff3
	tool = meld
[alias]
	lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
	lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
	lg = !"git lg1"
	tree = "forest --pretty=format:\"%C(red)%h %C(magenta)(%ar) %C(blue)%an %C(reset)%s\" --style=15 --reverse"
    d = difftool
    open = !vim `git-open.sh`
    ; slim log
    lg  = log --graph --pretty=slim --abbrev-commit --date=relative
    ; lg date: sorted by date and with absolute dates
    lgd  = log --graph --pretty=slim --abbrev-commit --date=local --date-order
    ; lg upstream: also show upstream branch
    lgu  = !git lg  $( git rev-parse --symbolic @{u} ) HEAD
    ; lg date, upstream
    lgdu = !git lgd $( git rev-parse --symbolic @{u} ) HEAD
    ; lg me: my commits from all branches, by date
    lgme = !git lgd --author=\"$( git config --get user.name )\" --all

    ; grep with some context (and a header)
    hgrep = grep --heading -B3 -A3

    ; diff by word
    diffword = diff --word-diff --word-diff-regex='\\w+|[^[:space:]]'
    ; diff by character
    diffchar = diff --word-diff --word-diff-regex='.'

    ; checkout files with only whitespace changes
    whitespacecheckout = "!git status --porcelain | grep '^.M' | cut -b4- | while read file ; do if test -z "$( git diff -w "$file" )"; then git checkout -- "$file" ; fi; done"

    ; rebase not-yet-pushed commits
    rebaselocal = "!REMOTE=$( git rev-parse --abbrev-ref HEAD@{u} ) ; if [ -n "$REMOTE" ]; then git rebase -i $REMOTE ; else echo "ERROR: Unable to determine remote branch" ; fi"
[diff]
	tool = vimdiff
[difftool]
	prompt = false
[core]
	excludesfile = ~/.gitignore
	quotepath = false
    editor = vim
	pager = diff-so-fancy | less --tabs=4 -RFX
[pretty]
    slim = "%C(red)%h%C(yellow)%d%C(reset) %s %C(green)(%cd) %C(bold blue)<%an>%C(reset)"
[filter "lfs"]
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
	clean = git-lfs clean -- %f
[commit]
	template = /home/paramah/tools/dotfiles/.git-commit-template.txt
[sequence]
	editor = interactive-rebase-tool
[color]
	ui = true
[color "diff-highlight"]
	oldNormal = red bold
	oldHighlight = red bold 52
	newNormal = green bold
	newHighlight = green bold 22
[color "diff"]
	meta = 11
	frag = magenta bold
	commit = yellow bold
	old = red bold
	new = green bold
    whitespace = red reverse


[credential "https://git.jazzy.pro"]
    username = aleksander.cynarski
