1

我想编写一个脚本(一个 perforce 触发器),它将在允许提交之前验证更改列表中文件的内容。但是,我的脚本使用 Xsltproc 处理 XML,然后使用 Jing 进行验证。我需要将间歇性输出保存到临时文件中 - 在为 perforce 编写更改内容触发器(服务器端)时可以这样做吗?我已阅读大量文档,但从未见过在运行触发脚本时创建临时文件的任何提及。唯一的其他解决方法是将 Xsltproc 的输出通过管道传输到 Jing(我也不知道该怎么做)。

欢迎任何有经验的 XSLT 或 Perforce 用户的建议。谢谢。

顺便说一句,我正在使用 perl - 但我认为这不会让事情变得更加困难。

4

1 回答 1

1

当然,您可以创建临时文件。只需确保触发器有权写入您想要放置的位置,服务器驱动器上有足够的空间,您以避免冲突的方式命名文件(有一个用于创建临时文件名的 Perl 模块),然后你清理它(IIRC,正确的模块会为你做这件事)。

但是请记住,如果您的触发器需要很长时间来处理,它将对用户造成破坏,甚至可能令人恐惧。在这种情况下,最好使用守护进程来访问提交循环之外的文件并让用户修复它,而不是一开始就尝试阻止它。(如果可以容忍坏文件,只要修复它们就行。这是你需要打的电话。)

于 2013-01-28T18:30:46.483 回答