[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Fill in callbacks for svn_ra_callbacks2_t()

From: Gregory (Grisha) Trubetskoy <grisha_at_apache.org>
Date: 2006-05-26 05:40:47 CEST

On Fri, 26 May 2006, Jelmer Vernooij wrote:

> The attached patch allows the callbacks in svn_ra_callbacks2_t() to be
> implemented in Python. This is one of the things required in order to
> get svn_ra_commit() working from Python.

awesome!! i'm off to the beach till tuesday, so won't be able to try them
out till then

> My next patch will include a wrapper for svn_delta_editor_t as well as
> tests for all the code related to svn_ra_commit() (including tests for
> the svn_ra_callbacks2_t() callbacks)

yes, this may address my next problem?

if you get the session via

client.open_ra_session()

(which is simpler, since there is no need to worry about open_tmp_file
callback),

and then get an editor and editor_baton via ra.svn_ra_get_commit_editor(),

(and I've been able to create a file in a repo using either http:// or
file:// using delta.editor_invoke_apply_textdelta() and
delta.svn_txdelta_send_string() :-))

alas, the editor will ultimately segfault at the very end then when you

delta.editor_invoke_close_edit(editor, edit_baton)

the ra implementation expects an svn_commit_callback_t to be in the
edit_baton (e.g. it casts edit_baton to commit_ctx_t in
subversion-1.3.1/subversion/libsvn_ra_dav/commit.c:commit_close_edit().

The svn_commit_callback_t which you were supposed to pass to
ra.svn_ra_get_commit_editor()

...and no function that matches the svn_commit_callback_t is exposed as
far as I understand (nor is there a way to create a commit_ctx_t).

Grisha

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri May 26 05:41:11 2006

This is an archived mail posted to the Subversion Dev mailing list.