问题标签 [p4java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
112 浏览

p4java - AuthTicketsHelper.getTicket() returns null

My company uses Perforce for version control and I'm writing software that automates use of Perforce using p4java. I'm running into a problem where my code can't connect to the Perforce server even though I am passing in valid information to use the p4tickets file on my computer.

First, I logged on to perforce to get a p4ticket by running "p4 login", which created the ~/.p4tickets file. But when I run my program that uses p4java to connect using the p4ticket file, it returns null.

I've double checked that the username I'm passing in matches the $P4USER environment variable I had when I used "p4 login", as well as that serverAddr matched the host name that was referenced by my $P4PORT. The p4TicketsFilePath also exists and is the correct path to the .p4tickets file which has my ticket, which is not expired. I'm looking for the reason why getTicket still returns null.

0 投票
0 回答
65 浏览

jakarta-ee - 将 P4java 异常映射到 Jax-RS

我正在开发一个与 Perforce 服务器交互的 Web 服务应用程序(连接、提交、删除、同步......),我的问题是 JBOSS AS7 服务器在我每次尝试午餐服务时都会阻止我。请这是我的课程我的朋友们我需要一些帮助最好的问候

和服务器异常

0 投票
1 回答
1930 浏览

java - Gradle P4Java java.net.SocketTimeoutException:读取超时

我在 build.gradle 文件中使用 P4Java 库来同步位于远程 Perforce 存储库中的大型 zip 文件 (>200MB),但在同步过程中遇到“java.net.SocketTimeoutException: Read timed out”错误或(大部分)在删除为同步操作创建的临时客户端期间。我指的是http://razgulyaev.blogspot.in/2011/08/p4-java-api-how-to-work-with-temporary.html用于使用 P4Java API 与临时客户合作。

我尝试按照http://answers.perforce.com/articles/KB/8044中的建议将套接字读取超时从默认的 30 秒增加,并且还通过引入睡眠但两种方法都没有解决问题。在执行同步或删除操作之前使用 getServerInfo() 探测服务器以验证连接会导致成功的连接检查。有人可以指出我应该在哪里寻找答案吗?

谢谢你。

提供代码片段:

我在删除 tempClient 时观察到的一件不寻常的事情是它实际上是在删除客户端但仍然抛出“java.net.SocketTimeoutException:读取超时”,这就是为什么我最终在第二个 catch 块中评论了第二次删除尝试。

0 投票
2 回答
426 浏览

perforce - 如何使用 p4java 同步到标签

我在网上看到过使用 Perforce 的 p4java api 将客户端工作区与最新文件同步的示例。例如:

但是如何指定它以同步到特定标签?例如,命令行中的等效项:

是否可能通过使用 SyncOptions 的替代方法?

我查看了 SyncOptions,但没有看到任何在其中指定标签的方法。

0 投票
1 回答
320 浏览

java - p4 更改等效于 P4Java

我想获得属于两个构建标签之间的所有中间构建的 CL。这可以在命令行上使用:

有与此等效的 P4J 吗?

0 投票
1 回答
552 浏览

java - 按文件夹模式在 perforce 中搜索文件

我在项目的不同文件夹中有一些 Java 类。(项目不止一个)

是否可以通过指定文件名和项目文件夹在 perforce 中搜索文件并获取其完整路径?我的意思是这样的

文件夹示例:

我相信我需要一门课:

1.//depot/projects/<concrete_project>/...@SomeClass.java

还有这样的情况(添加文件夹模式)

2.//depot/projects/<concrete_project>/...@server@SomeClass.java

上面的第一步和第二步是我的假设。我试图在文档中找到一些东西,但对此一无所获。

0 投票
0 回答
88 浏览

java - IFilespec 对象中的文件路径为空

我在我的项目中使用 p4java api。我有一个IFileSpec不为空的对象。但是当我这样做时,fileSpec.toString()它显示我为空。根据 p4java docfileSpec.toString()方法返回AnnotatedPreferredPathString定义为(按顺序)原始路径、仓库路径、客户端路径或本地路径指定的路径。

想检查这条路径可以为 NULL 的情况是什么?

注意:我无法直接访问我正在使用的 perforce repo。我在一个单独的主机上执行我的程序,我只是从那里获取日志。

0 投票
0 回答
91 浏览

character-encoding - Perforce - 文件名中的拉丁字符在获取文件历史记录时会产生问题

我已将一个文件(在使用 p4v 客户端的 Windows 主机上)重命名为CDNÍs.txt(我是急性的。现在当我尝试在 Mac 主机上使用 p4v 读取此文件时。我将文件名作为 CDN�s.txt 和 p4v 失败加载这个文件的历史记录。类似的是 p4Java api 的情况。

此外,当我在 mac 主机上签出相同的文件时。相同的文件名变为 CDN%EDs.txt。

我尝试使用命令 p4d -xi 在 unicode b 中运行我的 perforce 服务器,但仍然无法解决问题。

附件是 Windows 主机和 Mac 主机的屏幕截图。在此处输入图像描述来自 Windows 主机的屏幕截图

来自 Mac 主机的屏幕截图,其中拉丁字符无法正确读取

0 投票
0 回答
940 浏览

perforce - 如何在 perforce P4java API 中的两个日期之间获取 changeLIst?

我正在尝试使用 P4JAVA API 处理 perforce,但我无法在 2 个不同日期之间找到更改列表

如果必须在命令提示符下执行此操作,我正在使用

但是在 P4JAVA API 中我找不到该函数。

0 投票
1 回答
315 浏览

jenkins - 无法从 Jenkins 节点签入文件以强制执行

我们正在为 Jenkins 编写一个新插件,其中一项要求涉及将生成的文件上传到 perforce。如果我的文件驻留在主服务器上,但如果它们驻留在从代理(Jenkins 节点)上,我可以提交到 perforce。错误:找不到文件。我们确实尝试过使用 FilePath。我们怀疑这是因为客户端是从主服务器创建的。这是代码:

任何人都可以帮助如何从节点创建客户端吗?或任何其他见解?