我使用以下脚本从svn获取日志消息
import pysvn
class svncheck():
def __init__(self, svn_root="http://10.11.25.3/svn/Moodle/modules", svn_user=None, svn_password=None):
self.user = svn_user
self.password = svn_password
self.root = svn_root
def diffrence(self):
client = pysvn.Client()
client.commit_info_style = 1
client.callback_notify = self.notify
client.callback_get_login = self.credentials
log = client.log(
self.root,
revision_start=pysvn.Revision( pysvn.opt_revision_kind.number, 0),
revision_end=pysvn.Revision( pysvn.opt_revision_kind.number, 5829),
discover_changed_paths=True,
strict_node_history=True,
limit=0,
include_merged_revisions=False,
)
print log
def notify( event_dict ):
print event_dict
return
def credentials(realm, username, may_save):
return True, self.user, self.password, True
s = svncheck()
s.diffrence()当我运行这个脚本时,它返回一个空的字典对象[<PysvnLog ''>, <PysvnLog ''>, <PysvnLog ''>,..
你知道我做错了什么吗?我使用的是pysvn版本1.7.2,再次构建svn版本1.6.5,cheers Nash
发布于 2010-09-08 11:48:24
pysvn.Client.log方法返回一个日志条目列表;每个日志条目都是一个字典。(参见pysvn Programmer's reference)
您可以在代码中打印日志消息,如下所示:
for info in log:
print info.revision.number,
print info.author,
print time.ctime(info.date),
print info.message发布于 2012-02-23 20:10:13
最后让它工作,似乎我没有完全理解这个特殊的功能是如何工作的,不管怎样……我想和我的伙伴们分享一下!
start_rev = 10
end_rev = 30
url = http://dipidi.do.da/svn/foobar
log_dict = dict((log.revision.number, log["message"]) for log in pysvn.Client().log(url,
revision_start=pysvn.Revision( pysvn.opt_revision_kind.number, start_rev ),
revision_end=pysvn.Revision( pysvn.opt_revision_kind.number, end_rev ),
discover_changed_paths=True,
strict_node_history=True,
limit=0))
pprint(log_dict)如果你不喜欢理解
for log in pysvn.Client().log(url,
revision_start=pysvn.Revision( pysvn.opt_revision_kind.number, start_rev ),
revision_end=pysvn.Revision( pysvn.opt_revision_kind.number, end_rev ),
discover_changed_paths=True,
strict_node_history=True,
limit=0):
print log.revision.number, log["author"], log["message"]理解选项为我提供了以下内容
{10: 'testing my commits',
11: 'whohooo this stuff is fun'}https://stackoverflow.com/questions/2839386
复制相似问题