修订版中的pysvn文件复制功能

时间:2011-11-30 13:58:43

标签: file tortoisesvn copy revision pysvn

我使用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

如果我将文件从Retro浏览器拖到我的本地磁盘,同样的方式做龟,但是龟也可以复制另一个版本中的单个文件。现在有人如何在pysvn或简单的python代码中实现这一点?如果这些功能是由乌龟实现的,那么它也必须在pysvn中...因为同一个开发团队。

1 个答案:

答案 0 :(得分:0)

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

有一个名为“pyenv.export”的标准pipenv函数。这个名字对于复制功能来说太奇怪了......