我正在尝试使用Mercurial的“Perfarce”扩展来创建一个由mercurial管理的hg存储库(工作副本),并带有一个链接以检出并进入中央perforce服务器“depot”。
帮助说要输入这样的命令:
hg clone p4:// hostname:portnumber / userid
当我这样做时,它会在我当前工作目录下创建一个用userid名称命名的文件夹(所以这似乎是将用户名传递给p4 url的次优方式),我收到此错误:
abort:p4:... - 必须创建客户端'userid'才能访问本地文件。
第二次尝试失败,目的地不是空错误。
我也尝试过指定目的地:
hg clone p4:// hostname:portnumber / userid dest
这也不起作用 - 有关创建客户端的相同错误消息。我没有办法告诉它有关我的WORKSPACE,如果有的话,或者哪个仓库,要查看特定的主机名。
我已经有了一个p4和p4v知道的WORKSPACE,它位于一个不同的文件夹中,而不是我希望拥有hg + perfarce工作副本的地方。我怀疑p4命令行程序可能会被此混淆。
有没有人使用mercurial进行“perfarce”扩展?你到底做了什么,我做错了什么,不理解?
答案 0 :(得分:3)
使用Perfarce时,必须创建Perforce客户端。然后,您可以使用指定的约定来访问perforce库。根据{{3}}
hg clone [--startrev REV] [-r REV] [p4://server/clientname] [dest]
另外,请确保在计算机上创建了目标文件夹。它必须与客户端中设置的相同。如果您的客户端规范指定d:\ foo,则必须在d:\中运行Perfarce命令并且具有空的foo目录。不使用可选的dest
Perfarce使用客户端名称创建目录。
如果您的Perforce客户端使用默认设置并使用只读标记,则可能需要使用Perfarce documentation扩展名。
答案 1 :(得分:1)
看起来您必须键入“p4 client”,然后编辑生成的文件,该文件设置对p4服务器中各个depot的访问权限。然后hg命令将在这个工作文件夹中工作。
除了它以中止而死,来自p4客户端在hg克隆操作中运行,缺少文件错误,每次都有不同的丢失文件。
答案 2 :(得分:0)
我也是Perfarce的新手,但我发现我需要使用p4 login
,即使我的P4服务器不需要这样做。 Perfarce似乎无法识别通过P4CONFIG
设置的P4设置文件。