【发布时间】:2012-09-06 00:31:40
【问题描述】:
我需要实现一个 SVN 预提交挂钩,它执行本身存储在 SVN 中的脚本。
我可以使用svn cat 命令将该脚本通过管道传送到 Python 解释器,如下所示:
svn cat file://$REPO/trunk/my_script.py | python - --argument1 --argument2
但是,my_script.py 本身需要在 STDIN 上传输数据。
该数据未存储在文件中;它存储在网络上。我宁愿不必将数据下载到临时文件,因为通常我可以将其通过管道传输到 Python 程序:
curl http://example.com/huge_file.txt | python my_script.py
我不确定如何组合这两个管道。
【问题讨论】:
-
写一个使用pysvn读入文件的包装脚本,然后编译执行,这样你的stdin就免费了吗?
标签: python bash svn pipe pre-commit-hook