On Sat, Jul 8, 2017 at 1:42 PM, raman wrote: > > There are many things that Git lets you do that are at the power-user > end of the spectrum --- an d magit actually makes those doable, whereas > the git commandline would never encourage you to venture even close. I mentioned earlier in this thread that because Magit is so compelling I use it to induce susceptible colleagues to try emacs. Let me elaborate. I work at a company that is trying to up its software engineering practices. An important part of that effort is mandating code reviews. That alone though does not result in particularly useful reviews or feedback. The main obstacle is that developers work until a task is complete and then submit all of their changes as a single, overwhelming review request. There are developers within the company who are familiar with patch series culture as exemplified by the Gnu/Linux kernel. Others, though having no first hand experience, understand the ideas and acknowledge that offering code for review as a well groomed patch series would be a big improvement. The problem is that in the real world code never gets designed / authored / debugged such that it emerges naturally as an intelligible, coherent patch series. It takes real work to extract such a series. And of course most developers have absolutely no idea idea how they would go about turning a workspace or even a chaotic series of incremental commits into such a series. That is where Magit shines. It allows one to move arbitrary chunks of code forward and back among a sequence of commits. As such it gives a developer a concrete visualization of the emerging commits and their contents. Nor is one restricted to moving hunks identified by a diff tool. In Magit a chunk can just as easily be an arbitrary marked region. When I demo Magit for my colleagues they immediately get excited. It makes it clear that fostering a patch series culture need not be a pipe dream. To date I am unaware of any other tool on any platform offering similar functionality. Were an emacs user to ask me to suggest a package (s)he should use to interact with git I would always plug Magit. Not that I would discourage learning VC. Clearly (as Raman has explained) VC has a role. Magit though alters how one thinks about presenting one's coding efforts to the greater world. /john​