为什么P4不会为我提交Open Emacs?

时间:2011-03-16 16:01:27

标签: cygwin perforce

这很奇怪,我认为我的系统没有用来解决这个问题。我在使用cygwin的Windows XP系统上。我将环境变量$ P4EDITOR设置为“emacs”,但是当我执行p4提交时,我收到错误:

CreateProcess: "emacs" ".\t10640t25.tmp": The system cannot find the file specified.

Client side operation(s) failed. Command aborted.

当我将其设置为vi时会发生同样的事情(除了错误是使用vi而不是emacs)。当我完全取消设置$ P4EDITOR时,提交信息会以某种方式为我打开记事本++。真的很奇怪,但我实际上无法保存并提交我放在那里的描述。

似乎问题出在P4本身,由于某些原因,它无法创建,打开或保存它用于存储提交信息的tmp文件,但是这个问题超出了我的范围。任何想法如何让p4再次在Emacs中打开东西,或者至少让我以某种方式在命令行中提交东西?我很困惑。

2 个答案:

答案 0 :(得分:4)

想出来了。显然Perforce有一个特殊的cygwin客户端。我从http://www.perforce.com/perforce/downloads/otherlist.html下载了它并用它替换了程序文件中的p4.exe,现在一切都运行得非常好。如果其他人有cygwin / p4问题,我强烈建议你加入cygwin客户端。

答案 1 :(得分:0)

有一段时间,Cygwin的默认~/.bashrc取消设置TMP和TEMP变量,以解决从默认Windows临时目录继承不需要的权限的修补文件的问题。事实证明,这可能会极大地混淆非Cygwin程序(有些错误地)期望始终设置这些变量。看起来P4就是其中之一。因此,只需修改~/.bashrc即可删除有问题的行。