问题标签 [p4api.net]

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 回答
2529 浏览

.net - Perforce P4 .NET API 返回 Perforce 密码 (P4PASSWD) 无效

我正在使用 p4api.net 编写一个 VS C# 应用程序来访问 P4 服务器。P4V 应用程序使用给定的用户/密码访问存款罚款。使用 p4api.net API,代码使用从表单传入的服务器/用户/密码字符串无一例外地执行 Connect() 和 Login() 方法:

下面是实际代码:

然而,在另一个访问 P4“//depot”根目录的调用期间,API 调用 _repository.GetDepotDirs() 将返回“Perforce Password (P4PASSWD) invalid or unset”异常。请看下面的代码:

我在某处读到需要设置环境变量 P4TICKETS,所以我在 DOS 提示符下进行了设置:

但这并没有解决问题。我会很感激你的帮助。谢谢。

0 投票
1 回答
2031 浏览

.net - Perforce P4 .NET API GetFileMetaData() 返回 NullReferenceException

我运行从 P4 下载的 P4api.net 示例 C# 代码来遍历/depot我拥有的本地 P4 存储库。当示例代码尝试读取//depot/subdirAfor 子目录和文件时,对 API 函数的调用会GetFileMetaData()遇到空指针异常。当//depot/subdirA只有子目录没有文件时会发生这种情况。如果//depot/subdirA有一个或多个文件,则GetFileMetaData()可以正常工作。我必须遗漏一些东西,因为我认为它GetFileMetaData()应该适用于有或没有文件存在的目录。

以下是 P4 示例代码 - 请参阅代码注释了解异常位置:

我下载了 P4api.net API 源代码,并在其中观察到GetFileMetaData()r.TaggedOutput == null主题目录中没有文件时,只有更多的子目录。这可能是我对源代码的误解,但我认为代码应该在r.TaggedOutput == null之后运行 FOR 循环之前检查,请参阅代码注释以了解异常位置:

我如何解决这个问题,因为人们可以期望仓库目录有目录或文件或两者都有,但GetFileMetaData()似乎期望目录中总是有文件?我必须为传入的“选项”参数指定一个可以防止此异常的选项吗?或者在调用 GetFileMetaData() 之前是否有另一个 API 调用来检查代码可以调用的目录中是否存在文件?预先感谢您的帮助。

0 投票
5 回答
4817 浏览

.net - 在没有客户端工作区的情况下将 depot 文件下载到本地磁盘

我在这里阅读了另一篇文章,我可以在没有客户端工作区的情况下将文件从 Perforce 库下载到本地磁盘。为了进一步扩展,我需要将所有文件(文本和二进制文件)从仓库目录下载到我的本地磁盘中。这是正确的 p4 命令吗?

p4 打印 //depot/dir1/...

我有几个问题:

  1. 它会从 //depot/dir1/... 下载所有子目录和文件还是只下载文件?
  2. 它会保留将要下载的文件的原始名称吗?
  3. 如果没有指定本地路径,本地磁盘上的文件在哪里?

我正在使用 p4api.net 库。这段代码能做到吗?

我不确定它将文件转储到本地磁盘的哪个位置?

提前谢谢你的帮助。

0 投票
2 回答
1155 浏览

c# - 无法检索 perforce 客户端

我正在尝试使用 p4api.net apis 开发基于 C# 的构建工具。我是 perforce p4api.net 的新手。我按照从他们的网站下载的 p4api.net 库中给出的说明进行操作,但从未成功在 perforce 上运行基本命令。我附上了一段应该从 Perforce 获取客户端的代码。如有错误请指正。代码在执行 GetClients() 时引发运行时错误(未处理的预期)。

任何有关执行 C# 文档/示例的有用指南将不胜感激。

谢谢,马杜

0 投票
2 回答
1422 浏览

.net - P4API.NET 等效的“p4 文件”命令在仓库中查找文件

我正在使用 Perforce .NET APIs P4API.NET 库,想知道是否可以调用“p4 文件”命令行等效项来在我的 //depot 中返回文件列表(例如 *.cpp)?提前致谢!

0 投票
1 回答
1956 浏览

c# - Perforce P4API.NET Repository.GetDepotFiles() 返回已删除的文件

我使用了 Perforce Repository.GetDepotFiles() 并注意到该函数返回与搜索模式匹配的文件,但也返回已在 Perforce Depot 中删除的文件。如何过滤搜索以排除已删除的文件?

我在 Depot 中进行文件搜索的代码:

0 投票
2 回答
620 浏览

.net - 如何使用 P4 .net API 使用“P4 where”的功能

perforce 命令P4 wherePerforce 命令参考 PDF)将为我提供指定文件的分支路径、工作区路径和完整的本地路径。

我想知道如何使用 perforce 提供的官方 .net API 访问此功能(特别是文件的完整本地路径)。

0 投票
2 回答
622 浏览

c# - 寻找文件的变化

我希望检测到文件不同版本的行更改,我的问题是,当我尝试获取文件的不同版本时,我总是得到最后一个版本,我该如何继续获取不同的版本

0 投票
1 回答
341 浏览

c# - 使用 perforce 更改命令

为了获得特定时期的变化列表,我们使用命令 change

我正在使用 p4api.net 获取此更改列表,因此我必须使用:

但问题是如何指定这两个选项,我试过了,但它不起作用请帮助我,以获得更多帮助,了解我在寻找什么
如何查找上周为使用 Perforce 的特定用户提交的更改列表?

0 投票
1 回答
852 浏览

c# - 使用 p4api.net 在 perforce 中打开 mysession

我试图用 p4 api .net 打开我的会话,但命令不起作用。

对象 con.timeout 计数值:

我认为问题在于不可能这样做,因为如果我们通过传递命令来使用命令行 w 进程,p4 -p xx.xxx.xxx.x:xxxx login而不是传递密码。

我还尝试使用System.Diagnostics.Process以下代码传递命令:

请帮帮我