1

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

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

4

1 回答 1

2

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

以下是参考文档的摘录: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 )
于 2017-10-18T08:11:49.073 回答