Perforce postuseredit触发器不工作,作为preuseredi工作

2024-09-27 21:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个post user edit触发器,以根据标记为edit的文件显示警告消息。我想让触发器失败,然后客户端将显示失败消息

为了调试的目的,我的触发器现在被分解为一个简单的print语句。我用python编写了触发器,它只打印“Hello”,然后返回1(failure),以便触发客户机显示触发器验证消息

当触发器被设置为pre-user edit时,我看到“TestTrigger”验证失败,客户端显示“Hello”消息。但是,只要我将此触发器交换为运行post edit,就会得到一个“:验证失败”。它没有正确列出我的触发器名称,也没有打印出我的“Hello”消息

使用post触发器有什么细微差别吗?不确定我会做错什么

以下是我使用的示例:

触发器文件:

Triggers:
    TestTrigger command post-user-edit "/usr/bin/python %//Path/To/triggerTest.py%"

触发器本身:

import sys

def run():
    print "Hello"
    return 1

if __name__ == "__main__":
    sys.exit(run())

失败消息,敏感信息中断 Failure message, sensitive info blacked out


Tags: 文件run标记目的消息警告客户端hello
1条回答
网友
1楼 · 发布于 2024-09-27 21:25:40

不确定这是否是您遇到的实际问题,但您不需要返回失败;我甚至不确定命令后触发器的“失败”意味着什么,因为命令已经发生了。:)

C:\Perforce\test>p4 triggers -o | tail -n2
        edit command post-user-edit "echo Edit!"


C:\Perforce\test>p4 edit foo
//stream/main/foo#4 - currently opened for edit
Edit!

由于没有得到任何输出,我猜问题实际上是触发器没有运行,这是由于路径中的输入错误或类似的原因造成的。服务器日志文件可能有线索

相关问题 更多 >

    热门问题