← Back to context

Comment by yearolinuxdsktp

15 hours ago

Reminds me of `tig`, which is a TUI with a continuous diff (not side by side) viewer… you can revert chunks inline. Has tree view, diff view and blame view.

Yes tig is awesome!

I am also trying to add integration for this TUI with nvim `diffview` and `codediff` support.

git itself also has the lesser known `git add --patch` (or `-p`), the interactive staging tool (not to be confused with `git add --interactive` or `-i`, which does add more interactive tools but has a much more complex TUI that doesn't start from diffs).

  • It really should be the default, with the current 'git add' behaviour behind '--the-whole-damn-thing-i-dont-care-what-the-diff-is'.

    • Yeah, one of the things I miss most from darcs was that being the default experience and also the only step in change creation (`darcs record` versus `git add -p; git commit`; darcs also had a `darcs add` but it was to opt-in source files to status tracking, a reverse of the `.gitignore` opt-out approach).

  • Totally agreed!

    Brining `git add -p` style staging into the UI is definitely something worth thinking about.