VC mode in Emacs is currently getting a facelist to better support changeset-oriented version control systems, including distributed VCS. I told myself I would attempt to start using these new features rather than continuing to use Git from the command line. Here's what I've learned so far (just enough to get started):
Previously, VC operations in Emacs operated on a single file (whatever file was in the current buffer). Now, you can select multiple files to operate on, as well as get an overview of your project's status, by using VC-Dired mode:
- Open a directory with C-x v d. It looks a lot like a regular Dired listing, but has space to show some VC-specific information.
- By default, VC-Dired only shows changed files. Type v t to toggle between displaying only changed files and displaying all files.
- In VC-Dired, v is the VC prefix key, which does what C-x v does in file buffers. For example, you can diff the file at point with v = or annotate the file at point with v g.
- Hack a bit. When you're ready to commit, mark one or more files you want to commit in VC-Dired with m.
- Commit the files with v v. As with single-file commits, VC prompts you for a log message (type C-c C-c to finish the commit.