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

レトロブラウザからローカルディスクにファイルをドラッグすると、カメがそれを行うのと同じ方法ですが、カメは別のリビジョンに単一のファイルをコピーすることもできます。pysvnまたは単純なpythonコードでこれを実現するにはどうすればよいですか?? これらの機能が亀によって実装されている場合、pysvnでも可能でなければなりません...同じ開発者チームのためです。

4

1 に答える 1

0

I already got the answer. :-)

there is a standart pysvn function called "pysvn.export". The name was so strange for a copy function....

于 2011-12-01T13:27:00.087 に答える