'Delta source ended unexpectedly', 200003

Issue #437 new
FlorianGeorge
created an issue

TortoiseHg 3.3 hgSubversion changeset cdb1f1923a1a

This happened during an automatic rebase while pushing. A change in a changeset turned out to be not as good as a changeset committed by someone else between me pulling and pushing. I selected the other change to be used, rendering my own changeset void, so it should just be ignored ("created no changes to commit"). Then TortoiseHg reported an Exception.

Trace:

note: rebase of 28679:8bdc659253e5 created no changes to commit
committing 8bdc659253e5
** Unbekannter Fehler - bitte melden auf:
** http://mercurial.selenic.com/wiki/BugTracker
** Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)]
** Mercurial Distributed SCM (Version 3.3)
** Erweiterungen geladen: hggit, rebase, hgsubversion, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.win32ill, tortoisehg.util.hgdispatch
** Unbekannter Fehler - bitte melden auf:
** http://mercurial.selenic.com/wiki/BugTracker
** Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)]
** Mercurial Distributed SCM (Version 3.3)
** Erweiterungen geladen: hggit, rebase, hgsubversion, tortoisehg.util.hgcommands, tortoisehg.util.partialcommit, tortoisehg.util.pipeui, tortoisehg.util.win32ill, tortoisehg.util.hgdispatch
Traceback (most recent call last):
  File "hg", line 42, in <module>
  File "mercurial\dispatch.pyo", line 28, in run
  File "mercurial\dispatch.pyo", line 71, in dispatch
  File "mercurial\dispatch.pyo", line 140, in _runcatch
  File "mercurial\dispatch.pyo", line 860, in _dispatch
  File "mercurial\dispatch.pyo", line 621, in runcommand
  File "mercurial\dispatch.pyo", line 951, in _runcommand
  File "mercurial\dispatch.pyo", line 922, in checkargs
  File "mercurial\dispatch.pyo", line 857, in <lambda>
  File "mercurial\util.pyo", line 711, in check
  File "mercurial\commands.pyo", line 5538, in serve
  File "mercurial\cmdutil.pyo", line 592, in service
  File "mercurial\commandserver.pyo", line 289, in run
  File "mercurial\commandserver.pyo", line 242, in serve
  File "mercurial\commandserver.pyo", line 220, in serveone
  File "mercurial\commandserver.pyo", line 203, in runcommand
  File "mercurial\dispatch.pyo", line 71, in dispatch
  File "mercurial\dispatch.pyo", line 140, in _runcatch
  File "mercurial\extensions.pyo", line 194, in wrap
  File "tortoisehg\util\hgdispatch.pyo", line 23, in _dispatch
  File "mercurial\dispatch.pyo", line 860, in _dispatch
  File "mercurial\dispatch.pyo", line 621, in runcommand
  File "mercurial\dispatch.pyo", line 951, in _runcommand
  File "mercurial\dispatch.pyo", line 922, in checkargs
  File "mercurial\dispatch.pyo", line 857, in <lambda>
  File "mercurial\util.pyo", line 711, in check
  File "mercurial\extensions.pyo", line 149, in wrap
  File "mercurial\util.pyo", line 711, in check
  File "hgsubversion\wrappers.pyo", line 693, in generic
  File "mercurial\util.pyo", line 711, in check
  File "mercurial\commands.pyo", line 5115, in push
  File "mercurial\extensions.pyo", line 194, in wrap
  File "hgsubversion\wrappers.pyo", line 377, in exchangepush
  File "hgsubversion\wrappers.pyo", line 279, in push
  File "hgsubversion\pushmod.pyo", line 204, in commit
  File "hgsubversion\svnwrap\svn_swig_wrapper.pyo", line 456, in commit
  File "libsvn\delta.pyo", line 453, in close_edit
  File "libsvn\delta.pyo", line 666, in svn_delta_editor_invoke_close_edit
svn.core.SubversionException: ('Delta source ended unexpectedly', 200003)
cmdserver: process exited unexpectedly with code 255

Comments (2)

  1. Augie Fackler repo owner

    What does 'hg export' show for the change that you were trying to push? Is it empty or something?

    (Without precise steps to reproduce that don't involve tortoisehg, there won't be anything I'm likely to be able to do here.)

  2. FlorianGeorge reporter

    It is hard for me to reproduce the issue reliably for these two reasons:

    1) Unable to create a local SVN Repo that I clone with hgSubversion. My installed SVN Version is TortoiseSVN 1.7.9, Subversion 1.7.6.

    % hg clone --verbose "V:\RepoTest\SVNTestRepo9" "V:\RepoTest\SVNTestRepo9_Clone"
    Projektarchiv V:\RepoTest\SVNTestRepo9 nicht gefunden
    [command returned code 255 Fri Mar 27 14:47:57 2015]
    % hg clone --verbose "file:///V:\RepoTest\SVNTestRepo9" "V:\RepoTest\SVNTestRepo9_Clone"
    abgebrochen: Unable to open an ra_local session to URL
    Unable to open repository 'file:///V:\RepoTest\SVNTestRepo9'
    [command returned code 255 Fri Mar 27 14:48:08 2015]
    

    Seems similar to this issue: https://bitbucket.org/durin42/hgsubversion/issue/407/not-work-with-local-svn-with-db-format-6

    But the db/format says 4, so no idea why it's not working.

    I would definitely second Magnus Therning's notion of updating hgSubversion to support SVN up to 1.8 or, if you are already at it, also up to 1.9 (beta).

    2) Each time I attempt to reproduce the issue on the original SVN server, I am getting the error message

    Outgoing changesets parent is not at subversion HEAD
    (pull again and rebase on a newer revision)
    

    In case I pull again and rebase, my discarded changeset gets dismissed and no error will occur. I am quite sure in order to properly reproduce the issue I need hg to do an automatic rebase on push.

    I am not sure in which case hgSubversion does an auto-rebase and when it stops with above error message, as there is virtually no difference in my commit structure, it appears random, or at least very hard to find a case that shows when it succeeds to auto-rebase and when it doesn't.

    Edit: Maybe the new commit on the server is not allowed to be my own (same account) in order to auto-rebase to work. Just a guess.

  3. Log in to comment