Fork of Jonathan Kamens', Magnus Henoch's and Ben Key's p4-vc.el
Find a file
Tom Willemse 43c4b8fa56 fix: ‘vc-ediff’ thinks everything in all files has changed
Calling ‘p4-lowlevel-command-or-error’ on a buffer will output the raw response
from Perforce, which includes tags like ‘text:’ and ‘exit:’ at the start of each
line. These tags are used by the low-level functions to find the right data and
figure out if the given command succeeded or not.

Using ‘p4-lowlevel-command-into-buffer’ should have the desired behaviour of
cutting out all the tags and showing only the actual contents of the response.
This will make sure that the “other” buffer doesn't display all lines have
changed because suddenly each line starts with a tag.
2023-04-03 22:53:23 -07: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
CHANGELOG.org 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
p4-lowlevel.el fix: ‘vc-ediff’ thinks everything in all files has changed 2023-04-03 22:53:23 -07:00
README.org Remove section numbers from the README output 2023-02-04 18:43:39 -08:00
vc-p4.el Fix issue with files showing as needs-update in vc-dir 2022-03-14 23:47:29 -07:00

vc-p4

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:

  P4CLIENT=my_client

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