Fish · 560 bytes Raw Blame History
1 ## browse commits, preview diff, enter for full patch
2 #
3 function glog
4 command git rev-parse --git-dir >/dev/null ^/dev/null; or begin; echo "not a git repo"; return 1; end
5 set -l sel (git log --graph --date=short --pretty=format:'%C(auto)%h %ad %d %s %C(blue)%an%Creset' \
6 | fzf --ansi --no-sort --reverse --tiebreak=index \
7 --preview 'git show --color=always (echo {} | awk "{print \$1}")')
8 test -n "$sel"; or return
9 set -l sha (echo $sel | awk '{print $1}')
10 git show --stat --patch --color=always $sha | less -R
11 end