[core]
excludesfile = "~/.gitignore"
pager = delta --line-numbers --max-line-distance 0.9
compression = 0
looseCompression = 0

[user]
useConfigOnly = true

[column]
ui = auto

[push]
default = tracking

[branch "main"]
rebase = true

[branch "master"]
rebase = true

[alias]
b = branch -va
cl = clone --filter=blob:none
d = diff --stat -p -C
ds = diff --staged --stat -p -C
dt = difftool
patch = !git --no-pager diff --no-color
co = checkout
st = status -sb
pullr = pull --rebase

sl = branchless smartlog
sync = branchless sync
sw = branchless switch

gerrit-new = !git fetch origin main && git checkout --detach origin/main
gerrit-push = !git push origin HEAD:refs/for/main
gerrit-push-wip = !git push origin HEAD:refs/for/main%wip
gerrit-push-ready = !git push origin HEAD:refs/for/main%ready
gerrit-replace = !git commit --amend -a && git push origin HEAD:refs/for/main
gerrit-config = !git fetch origin refs/meta/config:refs/remotes/origin/meta/config && git checkout FETCH_HEAD
gerrit-config-push = !git push origin HEAD:refs/meta/config
gp = gerrit-push
gpw = gerrit-push-wip
gpr = gerrit-push-ready

ll = log --graph --date=relative --topo-order --pretty='format:%C(yellow)%h%C(yellow)%d %Cblue%ar %Cgreenby %an%Creset -- %s'
lla = log --graph --date=relative --topo-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' --all

guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f"
serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/

identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; git config user.signingkey \"$(git config user.$1.signingkey)\"; :"

[color]
ui = auto
branch = auto
diff = auto
status = auto

[apply]
whitespace = nowarn

[pack]
threads = 0

[blame]
date = relative

[delta]
syntax-theme = GitHub
hunk-header-style = line-number syntax

[hub]
protocol = git

[http]
cookiefile = /home/dln/.gitcookies

[interactive]
diffFilter = delta --color-only --features=interactive

[credential]
helper = store

[commit]
gpgsign = false

[user]
name = Daniel Lundin
email = daniel@arity.se

[init]
defaultBranch = main

; [url "git@github.com:"]
; 	insteadOf = https://github.com/

[lfs]
concurrenttransfers = 32

[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true

[diff]
  tool = difft
  # external = difft

[difftool]
  prompt = false

[difftool "difft"]
  cmd = difft --display inline "$LOCAL" "$REMOTE"
[scalar]
	repo = /tmp/k2/src
[maintenance]
	repo = /tmp/k2/src
[fetch]
	showForcedUpdates = true