目前我只想查找过去X天未修改的所有文件,但最终我希望能够针对我的subversion存储库进行更复杂的查询.
是否有某种Subversion查询语言或我可以使用的API?
您可以使用SvnQuery项目(http://svnquery.tigris.org),该项目旨在提供用于执行此类查询的查询接口.它有一个.NET API和一个Web前端,提供相同的查询语言.您可以使用运算符,嵌套表达式,通配符,短语和空白短语进行复杂查询.您要求的运算符,计算现在和最后提交日期之间的差异,未实现,但由于它是一个开源项目,您可以自愿执行此操作或发布功能请求:-)
您可以使用svn log命令生成一个XML文件,其中包含有关所有提交的大量信息,如下所示:
svn log URL --xml --verbose > commits.xml
您可以使用更多选项来限制修订范围,获取有关rev道具的更多信息,包括合并信息等.
然后问题变成"我如何对XML文档的内容执行查询",这比使用现有的SVN API更容易.例如,在C#中,您可以对XML执行LINQ查询.