基于日期的pysvn导出

pysvn export based on a date

我一直在修改一个现有的程序,该程序始终导出主要修订版,但我希望它更加灵活,并根据 date/time 检查任何修订版。 直接使用 SVN cli 没问题,我会 运行 类似: svn log -r {start date}:{end date} --xml 我可以简单地将这些值设置为保证 return 合理数量的值的范围并迭代结果找到最大的修订。但是 pysvn 的日志、导出和 info/info2 功能都使用修订作为输入,这不是该工具的用户知道甚至不会意识到的。

我的问题是,使用 pysvn 是否可以根据日期直接执行导出,或者是否可以至少确定在提供的日期之前提交的最后修订(最好不获取整个日志)提交历史)?

诀窍是在导出调用中使用日期修订。

以下是参考文档的摘录: http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_revision

pysvn.Revision - 颠覆修订

Revision对象有3个成员变量:

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 )