gpt4 book ai didi

java - 通过Java代码获取P4的锁

转载 作者:行者123 更新时间:2023-12-01 15:12:12 25 4
gpt4 key购买 nike

我想通过Java代码获取P4分支上的锁。有人知道如何通过Java实现它吗?

我使用以下代码:

IBranchSpec ibranchSpec = underlyingPerforceOptionsServer .getBranchSpec("//Tools/Patch/bin/");
ibranchSpec.setLocked(true);

这里的问题是ibranchSpec包含所有软件仓库,我不知道为什么。

setLock 的 API 表示,只有在服务器更新完成后才会开始工作。我尝试使用类似的东西:

ibranchSpec.Update();

它抛出以下异常。有什么想法吗?

com.perforce.p4java.exception.RequestException: Error in branch specification.
You cannot use the default branch view; it is just a sample.

最佳答案

您所描述的行为是因为您正在使用新的分支规范,而不是现有的分支规范。

但是您可能会遇到一个常见的困惑,即将分支规范与存储库中的一组文件相混淆。

也就是说,描述//Tools/Release/bin/... 如何映射到//Tools/Patch/bin/... 的分支 spec 与//Tools/Patch/bin/... 中的文件

一般来说,Perforce 工作流程通常不会锁定文件集,因为 Perforce 的全部目的是支持许多用户并发编辑工作,并通过合并更改来管理冲突解决。

但是,如果您有一个更高级别的开发工作流程,您希望控制谁以及何时可以在特定时间检查存储库的某些部分,那么这是绝对合理的。

根据我的经验,最好的方法是使用 Perforce 保护机制:建立一个保护文件,描述存储库的各个部分,以及谁可以提交到哪个部分。使用用户组来描述用户组,并尝试使整体保护表保持相当简单。

然后,要从一组用户“锁定”或“解锁”存储库的一部分(“分支”),您可以更新保护表以拒绝(“锁定”)或授予(“解锁”)权限到该组以写入该分支。

这个相关问题的答案中有对该技术的详细描述:Locking a branch in perforce?

关于java - 通过Java代码获取P4的锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12188226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com