deff: interactive, side-by-side file review for git diffs

https://github.com/flamestro/deff

12 points · 3 comments · view on lemmy.world

3 Comments

7uWqKj@lemmy.world · 5 pts · 166d (1 reply)

curl|bash? No way

EarMaster@lemmy.world · 2 pts · 166d

The script is linked and is only 33 lines long. The instructions are also written down later in the Readme.

BB_C@programming.dev · 4 pts · 166d

One can use custom viewers via core.pager and interactive.diffFilter in git configuration, not to mention defining custom difftools directly.

I primarily use delta for this (sometimes packaged as git-delta), which itself is implemented in Rust too.

For example, save this as a script called delta-s somewhere in $PATH:

#!/bin/bash

delta -s \
  --minus-style='syntax #400000' \
  --plus-style='syntax #004000' \
  --minus-emph-style='normal #a00000' \
  --plus-emph-style='normal #00a000' \
  --line-buffer-size=48 \
  --max-line-distance=0.8 $@

Then, in ~/.gitconfig, add

[difftool "d-sbs"]
  cmd = diff -u $LOCAL $REMOTE | delta-s

And the you can just

git difftool --tool d-sbs HEAD~

You can further create an alias for that too of course.