Show HN: Deff – side-by-side Git diff review in your terminal
deff is an interactive Rust TUI for reviewing git diffs side-by-side with syntax highlighting and added/deleted line tinting. It supports keyboard/mouse navigation, vim-style motions, in-diff search (/, n, N), per-file reviewed toggles, and both upstream-based and explicit --base/--head comparisons. It can also include uncommitted + untracked files (--include-uncommitted) so you can review your working tree before committing.Would love to get some feedback
55 points by flamestro - 32 comments
It probably explains why there is so many data leaks recently but it is like we did a 20 years jump back in time in terms of security in just a few years.
I admit I haven't looked super hard yet, I settled on configuring git to use delta [0] for now and I'm happy with it, but I'm curious if anyone has a workflow for reviewing/iterating on diffs in the terminal that they'd be willing to share. Also open to being told that I'm lightyears behind and that there's a better mental model for this.
[0] https://github.com/dandavison/delta/
This in conjunction with gh-dash [1] to launch a review can get you a pretty nice TUI review workflow.
[0] https://github.com/pwntester/octo.nvim
[1] https://github.com/dlvhdr/gh-dash
*Edit: I see you meant providing feedback to an agent, not a PR. Well that's what I get for reading too fast.
Once you submit it outputs to stdout and the agent reads your comments and actions them.
https://github.com/jfyne/meatcheck
- even faster, especially if you have couple thousand files and just want to press "u" for some time and see them very quickly all get staged
- has this split-view diff opened for a file
Otherwise tig is one of my favorite tools to quickly commit stuff without too many key presses but with review abilities, i have its "tig status" aliased to "t"
What nobody's mentioned yet is difftastic. Takes a completely different approach - parses syntax trees instead of lines, so indentation changes and bracket shuffles don't show up as noise. Worth a look if you're comparing options.
Main question I'd have: how does it hold up on large files? 5k+ line diffs are where most of these tools either choke or produce unreadable output. That'd be the test I'd run first.
[1]: https://alexpasmantier.github.io/television/
...I really just like the way the Jetbrains IDEs do it, and I wish there were a TUI version that I could launch automatically from the git cli.
What is most useful though is a 3-panel setup, like JetBrains -- still the best git client I have worked with.