Do you use some GUI, TUI, terminal commands, plugins for other software?

Ideally, I want to find a cross-platform GUI app, preferably a FOSS one, and with as less overhead as possible, e.g. no Electron.

you are viewing a single comment's thread
view the rest of the comments
[–] 17 points 8 months ago (4 children)

The git CLI. GUIs don't get anywhere near what it can do, and the CLI is scriptable and can easily interop with other programs.

  • source
  • hideshow 4 child comments
  • [–] 1 point 8 months ago (3 children)

    Performing a diff would like a word.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 8 months ago (2 children)

    Not sure what you're saying. Are you saying you need GUIs for diffs? Because that couldn't be further from the truth. Unified diff itself is highly underrated (and my preferred form for many reasons), but even if you wanted side-by-side diffs, there are many ways of accomplishing that without a GUI. That's the entire point of git difftool.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 8 months ago (1 child)

    What I'm saying is that performing a diff via command line isn't something that brings as much utility as using a GUI. You can do it, but a major part of this utility is the visual aspect, layout, navigation. CLI tools don't come close to what I want. Isn't difftool meant to be used in GUI form? Am I missing something here?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 8 months ago

    The default difftool is vimdiff, which is not a GUI program. But no, the point of difftool is to iterate through files to diff and pass the different versions to an external program. There are many external CLI and TUI diffing programs. The point, though, is that the git CLI is still the driver of everything and you still have the full range of options available to git diff, rather than some GUI program being the driver, which are universally limited in what they can do.

    Personally, I load regular git diff output into a vim buffer via :read. Unified diff is largely superior to side by side diffs, IMO, because most of the time, changes in one file are accompanied by changes in a number of other files, so it's useful to be able to quickly follow a thread of changed calls or whatnot. And with unified diff output, you can see and manipulate hunks directly.

  • source
  • parent