Fork of Jonathan Kamens', Magnus Henoch's and Ben Key's p4-vc.el
Go to file
Tom Willemse 9855eb32ec Use subshell instead of argument redirection
I'm getting an access denied error, hopefully this will fix that.
2023-02-04 18:38:13 -08:00
.builds Use subshell instead of argument redirection 2023-02-04 18:38:13 -08:00
.gitignore Ignore any directory starting with vc-p4- 2019-03-06 00:10:13 -08:00
.gitlab-ci.yml Rename deploy -> pages 2020-05-13 22:08:21 -07:00 Fix issue with files showing as needs-update in vc-dir 2022-03-14 23:47:29 -07:00
Makefile Add a build manifest for generating the README for sourcehut 2023-02-04 18:27:55 -08:00 Reformat README 2021-09-08 00:15:50 -07:00
p4-lowlevel.el Change the visited file name of the renamed file's buffer 2022-03-02 20:23:04 -08:00
vc-p4.el Fix issue with files showing as needs-update in vc-dir 2022-03-14 23:47:29 -07:00


This package provides VC integration with the Perforce version control system.

This package is quite old and was written for Emacs 23 I think. I'm trying to pull it into the next generation by making it work on Emacs 26.3 at the moment.

Road to v1

Before I can say that I can release version 1.0.0 of this project, I feel that these features need to be present (this list is subject to change):

  • Create new changelists.
  • Modify existing changelists.
  • Delete existing changelists.
  • Move files between changelists.
  • View changelist info in vc-dir.
  • View repository information in vc-dir. (Things like the Client name, current workspace, etc.)
  • Switch workspaces.

Some of these features may already be present and working and I just haven't discovered them yet, but until I feel confident that it can be done and is part of my workflow, I'm keeping it on the list.

Change log

See the change log.

Switching workspaces

To automatically switch workspaces based on the directory youre in, make sure that you have the P4CONFIG variable set. If this is set, for example to .p4config, in any directory that you want to associate with a workspace, add a .p4config file and add the following line to it:


Where my_client is the name of the client you want to use.