在cygwin下使用perforce命令行的问题

时间:2010-01-21 17:15:38

标签: command-line cygwin perforce

因此,除了同步之外,几乎不能使用perforce命令行。 我的工作区根目录映射到C:\ 这是我的客户规范的一行: //claims1.0/main / ... //cthiel/code/claims1.0/main / ...

任何时候我启动cygwin并尝试使用我的软件仓库中的任何文件(例如p4编辑),我都会遇到以下错误: 路径'/cygdrive/c/code/commonTest/main.p4ignore'不在客户端的根目录'C:\'下。

路径不匹配,因为cygwyn的C:\相当于/ cygdrive / c。所以它永远无法使用perforce命令行查找文件。

有没有办法解决这个问题?这非常烦人。

6 个答案:

答案 0 :(得分:35)

找到解决方案:
将其添加到.bashrc:

function p4() {
export PWD=`cygpath -wa .`
/cygdrive/c/Program\ Files/Perforce/p4.exe $@
}

对我来说就像是一种魅力。

答案 1 :(得分:11)

甚至莫'betta':
使用cygwin p4客户端: http://filehost.perforce.com/perforce/r07.2/bin.cygwinx86/p4.exe

只需确保它位于Perforce / p4.exe之前的路径中。等瞧。

答案 2 :(得分:5)

您可以在客户端规范中设置altroots,这可能会涵盖这个吗?

虽然cygwin p4是我想要的解决方案。但我会选择最新版本:http://filehost.perforce.com/perforce/r09.2/bin.cygwinx86/p4.exe - 它可以与任何旧服务器一起使用,但错误会更少。

答案 3 :(得分:4)

请注意,根据Perforce网站,Perforce CLI client for CygWin has been deprecated将在2013年5月1日之后不再受支持。在Perforce支持论坛上讨论了这个主题,包括a poll which attempts to gauge the level of interest继续支持CygWin客户端。由于财务原因停止支持(Redhat为商业Cygwin发行许可费);因此,如果显示出足够的兴趣,则可以重新考虑该决定

如果您使用P4 Cygwin客户,曾经或对该主题感兴趣,我建议您参与此次投票。感谢。

答案 4 :(得分:1)

.bashrc函数的修改版本,以避免cygpath开销并自动在PATH中找到p4.exe可执行文件:

function p4() {
    PWD= `which p4` "$@"
}

答案 5 :(得分:0)

Alt root似乎对我很好。但是我没有使用cygwin。我的源代码驻留在linux服务器上,我在windows机器上有客户端。我使用网络驱动器在Windows上映射了服务器的工作区。