vc-p4 is an implementation of vc, the version control interface built in to Emacs, for Perforce, a proprietary centralised version control system. vc-p4 was originally developed by Jonathan Kamens, and I forked it and started adapting it to Emacs 23, notable additions being the vc-dir mode and commands acting on several files at once.
Downloading it
vc-p4 is hosted on the public Perforce depot at public.perforce.com. You can browse the web interface for vc-p4, or go directly for the two files:
Checking it out with Perforce
The adventurous may wish to follow development through Perforce.
Since you probably want to use at least two different Perforce
working directories (unless you use Perforce only to improve
vc-p4), you need to set the
P4CONFIG environment variable in your ~/.profile
or other suitable file:
export P4CONFIG=.p4config
Then create a directory for vc-p4, put a .p4config
file in it containing:
P4PORT=public.perforce.com:1666
Run p4 client, which will use the editor specified
by the EDITOR environment variable to let you edit
your client specification. Check that Root names the
directory where you want vc-p4, and under View at the
very bottom delete all lines and enter this, substituting
myclient for the actual client name:
//guest/magnus_henoch/vc-p4/... //myclient/...
Then run p4 sync, which should get you the latest
version of the two files, vc-p4.el and
p4-lowlevel.el. The same command is used to check for
and update to new versions.
The public.perforce.com wiki warns that
client specifications belonging to unregistered users are
periodically purged, so you may need to redo the p4
client step above.
Installing it
Now that you have the files, activate vc-p4 by adding this to
your .emacs:
(add-to-list 'load-path "/path/to/vc-p4/")
(require 'vc-p4)
Using it
When you visit a file that is managed by Perforce, the mode line
contains an indicator such as P4-42, 42 being the
file's revision number. If you want to open it for editing, hit
C-x v v, which will call p4 edit, make
the buffer writable, and change the indicator to P4:42
to indicate that the file is opened.
Once you have edited the file as desired, hit C-x v
= to see the diff against the file in the depot. If after
inspecting it you want to commit, hit C-x v v again,
which will give you a buffer where you can write a log message. Hit
C-c C-c when done, and your changes will be submitted
and the buffer will be read-only again.
To work with several files at the same time, you'll want VC Directory mode, which the manual describes better than I could do.
Feedback
The ?discussion page is open. You can also contact me directly.