On Sat, 2007-08-04 at 17:15 +0200, Jelmer Vernooij wrote:
> On Sat, 2007-08-04 at 17:10 +0200, Jelmer Vernooij wrote:
> > Using the python bindings to do commits, I'm seeing some weird errors
> > sending tx delta's while adding files. This error only appears to occur
> > when adding files over remote connections. A repository that I can do
> > those commits to fine over file:// breaks over svn+ssh:// or https://.
> > The easiest way to reproduce this bug is by adding an empty file to a
> > Google code repository using the attached script.
> > Any ideas as to what's going wrong here or perhaps something I'm doing
> > wrong in my script ?
> Some more details:
> If I replace "" as argument to svn.delta.svn_txdelta_send_string with a
> non-empty string, the commit succeeds. Otherwise, I'm getting the
> following exception:
> Traceback (most recent call last):
> File "txdelta-error.py", line 30, in ?
> svn.delta.editor_invoke_close_file(editor, file, None, pool)
> File "/var/lib/python-support/python2.4/libsvn/delta.py", line 551, in
> return apply(_delta.svn_delta_editor_invoke_close_file, args)
> libsvn._core.SubversionException: ('Invalid diff stream: insn 0 cannot
> be decoded', 185003)
Ok, I think I've resolved this now.
In all cases I could find, the problem appears to be that sending an
empty diff to apply-textdelta does not work over libsvn_ra_svn and
libsvn_ra_dav, but it works fine over libsvn_ra_local. The exception is
not always raised from the right location because it is sent
asynchronously (as not every editor operation is confirmed by the
Received on Sat Aug 4 19:52:05 2007