Perforce change-submit 触发器到客户端上的 运行 脚本

Perforce change-submit trigger to run script on client

我想我 post 在这里,在 post 在 SuperUser 之后,因为我想从以前可能遇到过这种情况的软件开发人员那里得到意见!

我想在 客户端 对在更改列表中打开的文件启动一系列验证步骤,然后再允许更改列表提交。

例如,我希望确保如果打开文件作为更改列表的一部分进行添加、编辑或删除,则特定的相关文件将根据相应文件的条件矩阵得到适当处理:

必须在 Perforce 服务器接受提交之前启动这些验证步骤。此外,必须在客户端执行验证,因为我必须能够 reconcile offline work 使用客户端磁盘上的副本。

环境:

已经涵盖的调查途径

我想在 Perforce 服务器上使用更改提交触发器来启动客户端计算机上的 script/bundled 可执行文件,以在其工作区上执行 p4 操作以完成验证步骤。但是,我发现的参考资料(尽管是几年前的)表明这是不可能的:

感谢您的阅读,并提前感谢您的帮助!

running any script on the client's computer and in particular operating on their local workspace would require credentials that most likely will not be made available.

这就是症结所在——不允许 Perforce 服务器向客户端发送任意代码来执行。如果你想要那种类型的功能,你必须在客户端中打出你自己的安全漏洞(然后想出你自己的方法来确保它不被滥用),听起来你已经走上了这条路并认为这不值得。

Initial design was a strictly client-side custom tool, but this is not ideal since this would be a change of the flow that users are familiar with, and I would also have to implement a custom GUI.

我的建议是从这种方法开始,然后寻找减少摩擦的方法。例如,您可以使用更改提交触发器来检测用户是否跳过了自定义工作流(可能通过让自定义工具在更改描述中放置一个令牌以供触发器验证),然后给他们一条错误消息,将他们重回正轨,例如 "Please run Tools > Change Validator, or contact wanda@yourdomain.com for help"