Magit is Amazing
32 points by munksgaard
32 points by munksgaard
I definitely would have long ago switched to mercurial or fossil or pijul or whatever if it hadn't been for magit. Absolute treasure.
The existence of magit is definitely a major roadblock to my usage of jj.
I do wonder about that as well. A lot of the praise I have heard about jj is among the lines of "well it's really easy to stage hunks now -- just make some changes and slice them into proper commits later on!", but that's sort of how I've done it for ages just using magit
Are people upvoting this only for the title? The story doesn't really say anything.
I've been curious about Magit for a while, because I've heard really high praises about it, but I never understood what it did that vim-fugitive didn't do. The latter is neat, but also not that amazing.
I did decide to finally give Magit a shot the other day, and here are some random thoughts:
?
, and it helpfully tells you all the available options when you're halfway through a command. It's much more discoverable than vim-fugitive.Overall it's just way more polished, and pretty damn pleasant to use. I still use vim as my main editor, but since giving Magit a shot I've started coding in Emacs too from time to time. idk, it's neat
The genius of magit actually doesn't have anything to with magit, or emacs even; it's about the "UX" library underlying it, transient.
It's the balance between discoverability and speed for common operations. I can pause at any time and see the full list of modifiers I can apply to any given command, otherwise it's C C *commit message* C-c C-c which from a keystroke perspective seems fairly close to optimal.
Keyboard driven selection forms are for me one of the crown jewels of UX design: allow very fast operation/muscle memory whilst simultaneously clearly expose other options when you occasionally need to perform an unusual operation.
Transient is one of the UX libraries that truly wow'ed me, I think that's where the magic really hits. I have never used this, and it's so easy. I've been using this for a day, and it's so fast.
Emacs has a few really well-thought UIs similar to (Notmuch) or directly using transient (GPTel).
Notmuch is IMHO an extremely clever take on email, not just at UI level.
I really enjoy using Gnus, for emails, mailing lists, RSS feeds, and even custom groups for things like reviewing pull requests. Since I use it for much more than just email, it's hard to switch to notmuch or mu4e.
One of these days, however, I need to add some transient pop-ups because it's pretty hard to discover things, especially things I don't do often.
Maybe I don't understand the point of jujutsu, but I remember having exactly the same thought: "wait! I need to adopt a whole-ass new VCS for what is really the work of some porcelain?"