#!/usr/bin/python2.4
from svn import core, repos, fs, delta, client, ra

ra.initialize()

repos_url = "http://svn.collab.net/repos/svn/trunk"
    
class MyCallbacks(ra.callbacks2_t):
    def __init__(self, pool):
        ra.callbacks2_t.__init__(self)
        self.pool = pool
        self.auth_baton = core.svn_auth_open([
            client.get_simple_provider(pool),
            client.get_username_provider(pool),
            client.get_ssl_client_cert_file_provider(pool),
            client.get_ssl_client_cert_pw_file_provider(pool),
            client.get_ssl_server_trust_file_provider(pool),
        ], self.pool)

    def open_tmp_file(self, pool):
        from tempfile import mktemp
        tmpfile = mktemp()
        print "creating tempfile %r" % tmpfile
        return tmpfile

pool = core.Pool()

callbacks = MyCallbacks(pool)

svn_config = core.svn_config_get_config(None)

ra_ctx = ra.open2(repos_url, callbacks, svn_config, None)

class TestEditor(delta.Editor):
    pass

editor = TestEditor()

e_ptr, e_baton = delta.make_editor(editor)
    
reporter, reporter_baton = ra.do_update(ra_ctx, 2, "", True, e_ptr, e_baton)

ra.reporter2_invoke_set_path(reporter, reporter_baton, "", 1, True, None)

ra.reporter2_invoke_finish_report(reporter, reporter_baton)
