我正在使用 PySVN 和工作台来满足我的 svn 需求,并且我以前使用过 subclipse。当我更新我的工作副本时,这些工具都没有告诉我有人提交最后一次提交的原因。
我希望它与新的修订号、最后一次提交的评论以及由谁一起显示。我自己对 python 很擅长,我试图在 pysvn 文档中找到这方面的帮助,但没有。(或者 pysvn 已经有这个功能了吗??)
即使在注释视图中,我也找不到提交特定行的评论..我是否错误地解释了这个“评论”..它应该被隐藏:?
如果有人能指出我正确的方向......
一个快速脚本
#!/bin/bash
svn up
svn log --limit=1
我不知道 PySVN 但从命令行你可以使用,我想:
svn log -v
获取最后提交评论的完整信息。当然 PySVN 有可能做到这一点。
查看PySVN的文档,我发现了这个关于 pysvn.Client.callback_get_log_message的示例
import pysvn
log_message = "reason for change"
def get_log_message():
return rc, log_message
client = pysvn.Client()
client.callback_get_log_message = get_log_message
"...callback_get_log_message 在需要一条日志消息来完成当前命令时调用。在 rc 中返回 True 并将日志消息作为字符串返回。在 rc 中返回 False 将导致命令被取消。空的 log_message 不是允许并可能导致命令被取消。无法处理 Unicode 字符串。如果您有 Unicode 字符串,请将其转换为 UTF-8..."
您可以从几乎任何 Subversion 客户端工具获取日志信息 请记住,最后一次提交日志消息可能不会告诉您任何有用的信息 - 自您上次更新以来可能已经有 50 次提交,因此您确实需要查看所有日志消息,因为您最后提交。
此外,您可能希望使用预提交挂钩来强制在提交时输入消息。这样你就总能读到一些东西:)