我在颠覆中遇到了问题。我编写了一个python脚本,它对subversion进行命令行调用,从日志中返回xml数据,以便进一步处理。这是运行的命令:
svn log --xml -r {2018-01-11:2018-03-01} http://my/subverion/repository/
这在Linux和Mac上运行得很好。但是,在Windows上,我得到:
svn: E205000: Syntax error in revision argument '2018-01-11:2018-03-01'
我尝试了各种引用,转义,变化花括号的组合。以下是我尝试过的一些变化
svn log --xml -r "{2018-01-11:2018-03-01}" http://my/subverion/repository/
svn log --xml -r {"2018-01-11":"2018-03-01"} http://my/subverion/repository/
svn log --xml -r {20180111:20180301} http://my/subverion/repository/
svn log --xml -r {2018-01-11}:{2018-03-01} http://my/subverion/repository/
有什么想法吗?
答案 0 :(得分:1)
(这是对你的评论回复:)
那是......奇怪......你回来的错误看起来像是因为某种原因你的花括号被剥离了。您使用的是Powershell还是类似的东西?
编辑:灯泡突然出现在我脑海中。刚刚意识到你说你正在使用python。当你在python中使用字符串时,你需要逃避花括号。为了逃避它们,您需要将{{
和}}
尝试此命令:
"svn log --xml -r {{2018-01-11}}:{{2018-03-01}} http://my/subverion/repository/"
如果你想在其他命令行界面(例如powershell)中包含maxmium可移植性,可以用引号括起来:
"svn log --xml -r \"{{2018-01-11}}:{2018-03-01}\" http://my/subverion/repository/"
强调整个日期范围内的"
和每个日期周围的花括号。