我使用 pysvn 1.7.5 来访问我的 svn 服务器。如果我想将单个文件从 svn 服务器复制到我的本地磁盘,则没有实现 pysvn 函数。但是,如果我通过 https 建立连接,我可以复制单个文件,而无需对目录进行漏洞检查。
def fetch_svn_file(self, file_url, local_path):
local_path = local_path.replace('\\', '/')
# Set up a HTTPS request with username/password authentication
try:
# create a password manager
password_mgr = HTTPPasswordMgrWithDefaultRealm()
# Add the username and password.
password_mgr.add_password(None, 'https://www.xyz.com', self.default_user, self.default_passwd)
opener = build_opener(HTTPBasicAuthHandler(password_mgr))
remote_file = opener.open(file_url)
content = remote_file.read()
try:
local_file = open(local_path,"w")
local_file.write(content)
local_file.close()
except IOError:
return -1
except URLError, e:
print 'URLError: "%s"' % e
return -2
return 0
与 tortoise 一样,如果我将文件从 Retro 浏览器拖到本地磁盘,但 tortoise 也可以将单个文件复制到另一个修订版中。现在任何人都可以如何在 pysvn 或简单的 python 代码中实现这一点?如果这些功能是由乌龟实现的,那么它在 pysvn 中也必须是可能的......因为同一个开发团队。