All pastes #579274 Raw Edit

Someone

public python v1 · immutable
·published 2007-06-20 16:31 UTC
rendered paste body
#!/usr/bin/env pythonimport sysimport osfrom svn import core, delta, client, wc, radef usage_and_exit():    sys.stderr.write("Usage: %s REPOS-URL FILENAME-TO-ADD\n\n"                     % (os.path.basename(sys.argv[0])))    sys.exit(1)def main():    if len(sys.argv) < 3:        usage_and_exit()        repos_url = sys.argv[1]    filename = sys.argv[2]    if os.path.basename(filename) != filename:        usage_and_exit()        core.svn_config_ensure(None)    ctx = client.svn_client_ctx_t()    providers = [        client.svn_client_get_simple_provider(),        client.svn_client_get_username_provider(),        client.svn_client_get_ssl_server_trust_file_provider(),        client.svn_client_get_ssl_client_cert_file_provider(),        client.svn_client_get_ssl_client_cert_pw_file_provider(),        ]    ctx.auth_baton = core.svn_auth_open(providers)    ctx.config = core.svn_config_get_config(None)        ra_callbacks = ra.svn_ra_callbacks_t()    ra_callbacks.auth_baton = ctx.auth_baton    ra_session = ra.svn_ra_open(sys.argv[1], ra_callbacks, None, ctx.config)        def callback_func(dontcare1, dontcare2):        pass        editor, edit_baton = ra.get_commit_editor2(ra_session, "Log message.",                                               callback_func, {}, 0)        root_baton = editor.open_root(edit_baton, -1)    file_baton = editor.add_file(sys.argv[2], root_baton, None, -1)    editor.close_file(file_baton, None)    editor.close_edit(edit_baton)if __name__ == "__main__":    main()