【问题标题】:Wrapping an SVN Python hook in a Windows batch file在 Windows 批处理文件中包装 SVN Python 挂钩
【发布时间】:2011-02-14 06:18:08
【问题描述】:

我有一个以前驻留在 Linux 服务器上的 SVN 预提交挂钩。我现在正在尝试将内容转移到 Windows (Server 2003) 服务器。

这个钩子是用 Python 编写的,它在 Linux 上运行良好,顶部有 #!/usr/bin/env python 行。但是,Windows 不能以这种方式工作,并且要求挂钩是批处理文件(或其他格式,但仍然不是 Python)。

重要的是参数被传递给脚本,退出代码被返回给调用进程(SVN服务器),以便它知道是否允许提交。我对.bat 文件语法几乎一无所知,但我认为这样的事情可以解决问题:

C:\Python26\python.exe pre-commit.py %1 %2

我认为这是包装 Python 脚本的最简单方法是否正确?会自动返回脚本的退出码吗?

【问题讨论】:

    标签: svn batch-file pre-commit-hook


    【解决方案1】:

    回答我自己的问题:这几乎可行。退出码是通过ERRORLEVEL变量检测出来的,但由于环境为空,必须完整指定脚本的路径。谢天谢地,第一个参数包含存储库的位置,所以它只是:

    C:\Python26\python.exe %1\hooks\pre-commit.py %1 %2
    

    【讨论】:

    • 我猜这会一直提交,见stackoverflow.com/questions/10168108/…,你需要一些批处理文件错误处理课程,哎呀!
    • @KalpeshSoni - 不,它毕竟有效。您链接到的问题在 Python 脚本中包含错误,而不是批处理文件。
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多