Perforce触发器脚本可以写入临时文件吗?

时间:2013-01-28 17:04:28

标签: perl xslt perforce jing

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

任何欢迎使用XSLT或Perforce用户的建议表格。感谢。

BTW我正在使用perl - 但我认为这不会让事情变得更加困难。

1 个答案:

答案 0 :(得分:1)

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

但请记住,如果您的触发器需要很长时间来处理,那么对用户而言,这将是一种破坏性的,也许是可怕的。在这种情况下,最好使用守护进程从提交循环中访问文件并让用户修复它而不是试图阻止它开始。 (如果只要修复它们就可以容忍坏文件,那就行了。这是你需要做的一个电话。)