我在颠覆中遇到了一个问题。我编写了一个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/
有任何想法吗?
(这是对你的评论回复的回应:)
那是......奇怪......你回来的错误看起来像是因为某种原因你的花括号被剥离了。您使用的是Powershell还是类似的东西?
编辑:灯泡刚刚出现在我脑海中。刚刚意识到你说你正在使用python。当你在python中使用字符串时,你需要逃避花括号。为了逃避它们,你需要加倍{{
和}}
试试这个命令:
"svn log --xml -r {{2018-01-11}}:{{2018-03-01}} http://my/subverion/repository/"
如果要将最大可移植性包含在PowerShell等其他命令行界面中,可以将其包装在引号中:
"svn log --xml -r \"{{2018-01-11}}:{2018-03-01}\" http://my/subverion/repository/"
强调整个日期范围内的"
和每个日期周围的花括号。