我在WindowsXP上安装了Python3.1、Subversion 1.6.12和PySVN。在
如果我打开一个Python终端
import subprocess
print subprocess.check_output(['svnlook','youngest','D:/svn-repos/myrepo'])
我得到了预期的修订号。在
但是,如果我把这个添加到Subversion的帖子中-提交.bat,失败,错误为“句柄无效”:
^{pr2}$是什么引起的?我该怎么解决?我尝试将Subversion服务更改为以我的用户身份运行,认为这是默认系统帐户的某种权限问题,但没有效果。在
假设没有直接的解决办法,我该如何解决这个问题?我需要一些方法从SVN存储库检索最年轻的修订号,而无需本地工作副本。我翻遍了PySVN的Programmer's Reference,但找不到与“svnlook younger”对应的调用。在
编辑:我正在从邮报上调用脚本-提交.bat比如:
@ECHO OFF
"C:\Program Files\Python31\python.exe" "D:\svn-repos\myrepo\hooks\myscript.py"
最后我使用了一个不同的SVN绑定SVN python,这很管用。我只能猜测subversion和PySVN版本的Windows二进制文件之间存在一些不匹配。在
我认为您不需要使用子流程(仅用于此),您可以使用:
Occam's razor:)
因为我从这里看到
.bat
文件是旧的东西,而且子进程处理大量的重定向、处理,我认为这不起作用,但也许我错了,也许我只是想给你找个借口,但是。。。在顺便说一下,在python脚本中,你做了一个
^{pr2}$print
,你的@ECHO OFF
在你的.bat
中,所以我认为它不起作用也许你可以用这样的方式包装命令:祝你好运:)
相关问题 更多 >
编程相关推荐