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.