0

I just found out that emacs integrates support for version control (via the same problem as, and answer from, Emacs and symbolic links). I tried to find an overview of what emacs VC includes, but everything I find is details and technical (e.g. emacs man for VC).

Does anyone know of a quick introduction / overview of emacs VC?
I.e. Why use it, instead of (e.g.) git directly? What basic features does it have?

Community
  • 1
  • 1
DilithiumMatrix
  • 17,795
  • 22
  • 77
  • 119
  • @HighPerformanceMark The entire point of my question is to avoid '*extensive*'. I do appreciate your point---which I considered---but I decided to still post the question because I thought such a link would be helpful to lots of people on SO, and in general. – DilithiumMatrix Aug 28 '13 at 15:01

2 Answers2

5

Why use it, instead of (e.g.) git directly?

For the same reason one uses other integrated tools and GUIs: less typing, faster turnaround.

What basic features does it have?

CLI cycle:

  1. edit the file
  2. switch to shell, run git commit file
  3. edit the commit message in the new editor; oops - need to look at the original file ...

Emacs cycle:

  1. edit the file
  2. C-x v v - new buffer appears for the commit message, you can edit it while viewing the changes you made in a diff buffer (C-x v =); C-c C-c when done and you can resume editing right away.

Or select files in the vc-dir buffer (C-x v d) and operate on them: diff, commit, pull &c.

Just start using Emacs/VC and ask specific questions.

PS. See also Emacs Wiki:

  1. Version Control
  2. Category Version Control
sds
  • 58,617
  • 29
  • 161
  • 278
  • 1
    For git specifically, there's also [magit](http://magit.github.io/magit/), a more visual approach that's tightly coupled to git and supports all of its advanced features. – ataylor Aug 29 '13 at 15:30
1

Here's brief introduction: http://david.rothlis.net/emacs/basic_c.html#vc

If you're using git, you really should be using magit, a third-party plugin. However even with magit, I still use vc's vc-print-log and, in particular, vc-annotate. For an introduction to the latter see http://david.rothlis.net/emacs/basic_c.html#annotate

David Röthlisberger
  • 1,786
  • 15
  • 20