【发布时间】:2019-04-08 22:19:51
【问题描述】:
在SuperUser 上发帖后,我想我会在这里发帖,因为我想从以前可能遇到过这种情况的软件开发人员那里获得意见!
我想在客户端对在更改列表中打开的文件启动一系列验证步骤,然后才允许提交更改列表。
例如,我希望确保如果打开文件以添加、编辑或删除作为更改列表的一部分,特定相关文件将根据相应文件的条件矩阵得到适当处理:
- 正在打开相应文件以进行添加/编辑/删除
- 磁盘上存在的对应文件与磁盘上不存在的对应文件
- 仓库中存在的对应文件与仓库中不存在的对应文件
- 相对于 depot 文件,对应文件已更改与未更改
必须在 Perforce 服务器接受提交之前启动这些验证步骤。此外,验证必须在客户端执行,因为我必须能够reconcile offline work 使用客户端磁盘上的副本。
环境:
- Perforce 2017.2 服务器
- MacOS 和 Windows 计算机提交到不同的分支
调查途径已经覆盖
最初的设计是严格的客户端custom tool,但这并不理想,因为这将改变用户熟悉的流程,而且我还必须实现自定义 GUI。
在其他方法中,我考虑了creating triggers in 2017.2;但是,即使我使用change-content 触发器和服务器上所有可用的更改列表文件,我也无法正确执行验证和修复步骤。
另一种可能性是使用change-submit trigger 并使用trigger script variables in 2017.2 来获取客户端的IP、主机名、客户端的当前工作目录等,以便您可以在服务器上运行脚本来尝试远程连接到客户的计算机。但是,在客户端计算机上运行任何脚本,特别是在其本地工作区上运行,都需要很可能无法使用的凭据。
我希望在 Perforce 服务器上使用更改提交触发器在客户端计算机上启动脚本/捆绑可执行文件,以在其工作区执行 p4 操作以完成验证步骤。但是,我发现的参考资料(尽管是几年前的)表明这是不可能的:
- https://stackoverflow.com/a/16061840
- https://perforce-user.perforce.narkive.com/rkYjcQ69/p4-client-side-submit-triggers
- Updating files with a Perforce trigger before submit
感谢您的阅读并提前为您提供帮助!
【问题讨论】:
-
不幸的是,这可能是题外话,因为它有点过于宽泛
-
嘿@DerekPollard!您能否就如何完善我的问题给我一些建议?我可以尝试创建一个 TL;DR 我需要知道是否有人能够做到这一点,或者这是否是 Perforce 触发机制的限制:)
标签: perforce