Emacs VC-P4

Executive summary
Jonathan Kamens originally wrote and released code for adding support for Perforce to VC mode in Emacs 21. His files can be found here:



Jonathan no longer actively uses Perforce and is no longer able to support these files. Another Perforce user, Magnus Henoch, has branched his own version of these files with some fixes. If Jonathan's version doesn't work for you, you can find Magnus's version at:



More information
This is Jonathan Kamens's original announcement about vc-p4 from the perforce-user email list in January 2002:

These files, an alternative to p4.el, make the standard Emacs VC (Version Control) commands support Perforce, e.g., for people who are familiar with Emacs VC commands and prefer to be able to continue to use them rather than learning the completely new set of commands provided by p4.el.

These files will work with the version of VC mode included in Emacs 21 and with any other Emacs variant which uses the version of VC mode included in Emacs 21. These files will NOT work with the version of VC mode included in Emacs 20 or earlier.

The functionality provided by this VC support is a subset of the functionality provided by p4.el. If you'd like to be able to use both the VC Perforce support and p4.el, you can do so by loading them both into Emacs and setting p4-do-find-file to nil. If you do this, then you will use VC commands for Perforce operations related to individual files but p4.el commands for Perforce operations not related to individual files (e.g., "p4 submit", "p4 client", "p4 user", etc.).

The file p4-lowlevel.el provides a low-level interface to "p4" commands from within Emacs; if you do Emacs programming and might benefit from being able to perform Perforce operations in Emacs-lisp code, you might find this file useful even if you don't want to use vc-p4.el.

Note that I don't work for Perforce and this code is supported and maintained by me, not by Perforce.

Please let me know if you have any questions. And *please* report any bugs you find in this code!

This code is being released under the GNU General Public License. Development of this code was sponsored by my employer, Curl Corporation (http://www.curl.com/). Yes, we use Perforce :-).

Enjoy!