0

我使用 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 中也必须是可能的......因为同一个开发团队。

4

1 回答 1

0

我已经得到了答案。:-)

有一个名为“pysvn.export”的标准 pysvn 函数。复制功能的名字太奇怪了....

于 2011-12-01T13:27:00.087 回答