Я предполагаю, что вы уже используете p4.el .
Вот функция, которая позволит вам легко настроить p4-client-config:
(defun p4-go (config)
(interactive
(list (read-file-name "P4 Config file: "
(concat (getenv "HOME") "/etc/perforce/")
""
t)))
(p4-set-client-config (expand-file-name config))
t)
Тогда я просто запускаю M-x p4-go <RET> conf <RET>
.
Мой файл ~ / etc / Perforce / Conf выглядит так:
P4CLIENT=ewarmenhoven-ppd
P4PORT=perforce.netflix.com:1666
P4USER=ewarmenhoven
P4EDITOR=emacsclient
P4DIFF=diff -dupU8
P4MERGE=~/bin/emerge
Программа слияния emerge
- это всего лишь небольшой небольшой скрипт оболочки, который вызывает emacsclient
соответственно:
<code>#!/bin/bash</p>
<p>base=$1
sccs=$2
mine=$3
merg=$4</p>
<p>emacsclient -e "(ediff-merge-files-with-ancestor \"$base\" \"$sccs\" \"$mine\" () \"$merg\")"
emacsclient "$merg"
Если вы используете Cygwin, он должен работать просто отлично.
Для выполнения diff, если он запускается из оболочки, я хочу вывод в оболочке, следовательно, просто используя обычный diff. Если это не так, я использую p4-ediff
, который по умолчанию связан с C-x p -
.