Both, the original creator and the current maintainer have lost the incentive for develop/maintain the package. We even don't have an access to Perforce server any more, so no more testing is done. If you are interested in becoming a maintainer please, create an issue
Attention! This is in development. Some of the info below is nothing but a plain lie!
Emacs 24.x with magit-2.1 or newer and p4 packages installed. You do not have to install these packages if you use Melpa service - all required dependencies will be downloaded altogether with magit-p4.
git-p4 add-on is obviously required.
The package should be available via Melpa service using elpa packages mechanism.
If you plan to enable the package manually be sure to have magit and p4 installed already
and add the downloaded package directory to Emacs load-path:
(add-to-list 'load-path "<path-to-magit-p4-directory")
and then you should call:
(require 'magit-p4)
Evalutation of the package code is sufficient to plug into magit menu some helpful key bindings.
Being inside Magit status buffer one should press ? key to reveal magit menu. The menu should be equipped with 4 key binded to magit-p4 submenu, all right. The submenu has four items which represent four activities implemented by git-p4 add-on:
- Cloning - bound to key
candmagit-p4-clonefunction; - Syncing - bound to key
sandmagit-p4-syncfunction; - Rebasing - bound to key
randmagit-p4-rebasefunction; - Submitting - bound to key
S(capital "s") andmagit-p4-submitfunction.
After one of the activities is chosen another menu appears where one may specify additional options and arguments - like magit does.
One may use magit-p4 function outside magit buffer but be sure to do it while the active buffer reflects a directory inside Git repository. Some of these four functions make use of command prefix argument (C-u).
Press 4 key in magit main menu and then c key. The submenu presents some additional switches and arguments. The most important argument is =d (destination directory). Without specifying this argument the default directory will be used for cloning which may not be appropriate. Then one must press c key once more. The minibuffer will ask for P4 depot to clone. Pressing Tab key invokes completion (here p4 package comes with help). Unfortunately, the completion might be longsome due to network communication. The cloning process is launched asynchronously so one must visit magit process buffer from time to time to know cloning current status.
You may use directly magit-p4-clone command prepending with C-u - the command will ask you for target directory after you choose P4 depot to clone.
Press 4 key in magit buffer followed with s key. The submenu presents some additional switches and arguments for git-p4 sync command. Press s once again and the synchronization starts. If command prefix argument (C-u) has been pressed before the final s you will be presented with minibuffer asking for P4 depot path to sync with (of course the completion will work thanks to p4 package).
While visiting magit status buffer press 4 and r key. Additional switches are provided in rebase submenu. Finally press r key.
While visiting magit status buffer press 4 and r key. Additional switches are provided in submit submenu. Press s key to submit. A buffer will appear where you may add some more info
to submitted change-set log. Press C-x# to confirm (emacsclient is used).