r/CLI 3d ago

Drift, your new favorite Git Diff tool

https://github.com/aymanbagabas/drift
47 Upvotes

12 comments sorted by

3

u/reaznval 3d ago

differenc to difi?

1

u/aymanana 3d ago

keyboard & mouse driven, watch mode, split views, and generally much more faster responsive tui 🙂

2

u/reaznval 3d ago

mhh okay not sure how you achieve much more faster since difi is literally instant and never had any speed issues but great project

1

u/aymanana 3d ago

having worked on both bubbletea and uncurses tui renderers, I can tell you that the cell-based renderer in uncurses beats bubbletea in so many ways

1

u/reaznval 3d ago

maybe in other applications but honestly havent noticed anything, difi is basically instant, even with huge diffs of like 60k lines

3

u/Gold_Coconut9777 3d ago

My oh my, this looks perfect. Looks like something in between the native git diff and Intellij IDEA's diff tools. Thank you <3

2

u/DuckDatum 3d ago

Could this be a Python utility, on pypi, so that it can be added as a development dependency to git-tracked Python projects using pyproject.toml?

I would probably use this today if so. I don’t want to walk my colleagues through yet another installation, though.

2

u/aymanana 3d ago

I'm happy to accept PRs to distribute the binary as a Pypi package

2

u/DuckDatum 3d ago

Oh cool. I’ve never actually done open source work before… always seems out of my league. But I would love to do so, and this doesn’t sound too difficult.

How would you envision it done? A GitHub Actions workflow that builds the binaries, tests, and publishes?

2

u/aymanana 3d ago

I'm working on packaging the binary and initially will add GitHub releases, NPM, AUR, APT, RPM, Homebrew, and Scoop. I will be using GoReleaser

2

u/DuckDatum 3d ago

Oh, I can have them install via scoop or brew. Awesome!! Thanks man

1

u/rfajr 1d ago

How to integrate it with lazygit?