#+TITLE: Perforce layer #+TAGS: layer|versioning [[file:img/p4.png]] * Table of Contents :TOC_4_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#key-bindings][Key bindings]] * Description This layer integrates =Perforce= SCM system into spacemacs. ** Features: - Support for running [[https://www.perforce.com/][Perforce]] (p4) SCM commands directly from emacs. * Install To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =perforce= to the existing =dotspacemacs-configuration-layers= list in this file. You’ll have to install the =p4= command line tool from the [[https://www.perforce.com/downloads/helix][download page]]. Don’t forget to setup the environment variables: - =P4_PORT= - =P4_CLIENT= - =P4_USER= - =P4_PASSWD= * Key bindings | Key binding | Description | |-------------+--------------------------------------------------------------| | ~SPC p 4 a~ | add a file in depot | | ~SPC p 4 d~ | delete a file in depot | | ~SPC p 4 D~ | p4-describe | | ~SPC p 4 e~ | checkout a file | | ~SPC p 4 r~ | revert a file | | ~SPC p 4 R~ | refresh content of an file. =sync -f= | | ~SPC p 4 S~ | submit CL | | ~SPC p 4 b~ | create, modify, or delete a branch view specification | | ~SPC p 4 B~ | display list of branch specifications | | ~SPC p 4 c~ | create or edit a client workspace specification and its view | | ~SPC p 4 C~ | display list of pending and submitted CL | | ~SPC p 4 E~ | change the filetype of an open file or move it to another CL | | ~SPC p 4 @~ | p4-depot-find-file | | ~SPC p 4 f~ | list revision history of files | | ~SPC p 4 F~ | list files in the depot | | ~SPC p 4 G~ | display current perforce client name | | ~SPC p 4 g~ | synchronize client with depot | | ~SPC p 4 h~ | p4-help | | ~SPC p 4 H~ | list revisions most recently synced to the current workspace | | ~SPC p 4 i~ | display client/server information | | ~SPC p 4 I~ | integrate one set of files into another | | ~SPC p 4 j~ | create or edit a job (defect) specification | | ~SPC p 4 J~ | display list of all jobs | | ~SPC p 4 l~ | create or edit a label specification | | ~SPC p 4 L~ | display list of defined labels | | ~SPC p 4 :~ | apply label to the contents of the client workspace | | ~SPC p 4 m~ | move files from one location to another | | ~SPC p 4 o~ | list open files and display file status | | ~SPC p 4 p~ | write a depot file to a buffer | | ~SPC p 4 P~ | p4-set-p4-port | | ~SPC p 4 q~ | quit window | | ~SPC p 4 y~ | resolve integrations and updates to workspace files | | ~SPC p 4 s~ | identify differences between workspace and depot | | ~SPC p 4 t~ | toggle perfore server check when opening files. | | ~SPC p 4 u~ | create or edit user specification | | ~SPC p 4 U~ | list perforce users | | ~SPC p 4 v~ | emacs perforce integration version | | ~SPC p 4 V~ | p4 blame | | ~SPC p 4 w~ | show how file names are mapped by client view | | ~SPC p 4 x~ | delete a file from the depot | | ~SPC p 4 X~ | mark jobs done by specific CL | | ~SPC p 4 z~ | p4-reconcile | | ~SPC p 4 =~ | p4 diff | | ~SPC p 4 +~ | p4 diff on all opened files | | ~SPC p 4 -~ | p4 ediff |