我一直在修改现有程序,该程序总是导出头版本,但我希望它更灵活,并根据日期/时间检查任何修订。
使用SVN cli直接这没有问题,我会运行类似:svn log -r {start date}:{end date} --xml
的东西,我可以简单地将这些值设置为保证返回合理数量的值的范围,并迭代结果以找到最大的修订版。然而,pysvn的log,export和info / info2函数都使用修订作为输入,这不是该工具的用户知道甚至不知道的。
我的问题是,使用pysvn可以直接执行基于日期的导出,或者是否可以至少确定提交到提供日期的最后修订版本(最好不要获取整个提交历史记录的日志) )?
答案 0 :(得分:1)
诀窍是在导出调用中使用日期修订。
以下是参考文档的摘录: http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_revision
pysvn.Revision - 颠覆修订
Revision对象有三个成员变量:
kind - the kind of revision, its value is one of the opt_revision_kind enumerations.
date - date and time when kind is opt_revision_kind.date, as seconds since the epoch which is compatible with python's time module.
number - revision number when kind is opt_revision_kind.number
接口摘要:
import pysvn
import time
revhead = pysvn.Revision( pysvn.opt_revision_kind.head )
revdate = pysvn.Revision( pysvn.opt_revision_kind.date, time.time() )
revnum = pysvn.Revision( pysvn.opt_revision_kind.number, 4721 )