Почему P4 не отправит мне открытый Emacs? - PullRequest
2 голосов
/ 16 марта 2011

Это очень странно, и я думаю, что моя система не использовала эту проблему. Я в системе Windows XP, используя Cygwin. У меня есть переменная окружения $ P4EDITOR, установленная в «emacs», но когда я делаю p4, я получаю ошибку:

CreateProcess: "emacs" ".\t10640t25.tmp": The system cannot find the file specified. <br><br> Client side operation(s) failed. Command aborted.

То же самое происходит, когда я устанавливаю его в vi (за исключением ошибки с vi вместо emacs). Когда я полностью сбрасываю $ P4EDITOR, информация для отправки каким-то образом заканчивается для меня в notepad ++. Действительно странно, но я не могу на самом деле сохранить и отправить описание, которое я вставил туда.

Похоже, проблема в самом P4, где по какой-то причине он не может создать, открыть или сохранить файл tmp, который используется для хранения информации о представлении, но проблема в том, что я не знаю. Любые идеи, как заставить p4 снова открыть материал в Emacs, или, по крайней мере, позволить мне как-нибудь отправить материал в командной строке? Я застрял.

Ответы [ 2 ]

4 голосов
/ 16 марта 2011

понял это. Видимо у Perforce есть специальный клиент для cygwin. Я скачал его с http://www.perforce.com/perforce/downloads/otherlist.html и заменил на него файл p4.exe в моих программных файлах, и теперь все прекрасно работает. Если у кого-то еще есть проблемы с cygwin / p4, я настоятельно рекомендую получить клиент cygwin.

0 голосов
/ 16 марта 2011

Некоторое время Cygwin по умолчанию ~/.bashrc сбрасывал переменные TMP и TEMP для решения проблемы с исправленными файлами, наследующими нежелательные разрешения из временного каталога Windows по умолчанию.Оказалось, что это может сильно запутать не-Cygwin программу, которая (несколько ошибочно) ожидает, что эти переменные всегда будут установлены.Похоже, P4 является одним из них.Так что просто отредактируйте ~/.bashrc, чтобы убрать проблемную строку.

...