我是Python和PySVN的新手,我正尝试使用pysvn导出我的SVN存储库。这是我的代码:

#set up svn login data
def svn_credentials (realm, username, may_save):
  return True, svn_login_name, svn_login_password, False

#establish connection
svn_client = pysvn.Client ()
svn_client.callback_get_login = svn_credentials

#export data
svn_client.export('server-path-goes-here', 'client-path-goes-here', force=True)

可以正常工作,但是如果密码错误或用户名未知,则只保留此代码。我相信它会在SVN端显示一个用户登录提示,但是我对如何检查callback_get_login发生的事情感到迷惑。任何帮助将不胜感激。

最佳答案

如果凭据错误,则pysvn将调用回调,如果凭据仍然错误,则将再次调用该回调,并且将继续进行该操作,直到凭据正确为止。

对于自动化脚本,最好不要设置回调,而是通过在pysvn.Client实例上调用set_default_username和set_default_password来设置默认的用户名和密码。

使用该设置,不正确的凭据将导致pysvn传播异常,提示您设置了可以捕获的回调并将其转换为有意义的错误消息。

关于python - 如何使用PySVN捕获登录失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2625344/

10-12 23:32