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()