1. Augie Fackler
  2. hgsubversion
  3. Issues
Issue #19 resolved

Can't push changesets over http or https

Valentino Volonghi
created an issue

{{{ $hg svnclone http://.... $touch foobar $hg add foobar $hg commit -m "some changes" $hg svn outgoing changeset: 4641:b15ad89c5ef4 branch: default tag: tip user: Valentino Volonghi aka dialtone my@email.com date: Sat Oct 18 10:52:38 2008 -0700 summary: some changes

$hg svn push unknown exception encountered, details follow report bug details to http://www.selenic.com/mercurial/bts or mercurial@selenic.com Mercurial Distributed SCM (version unknown) Extensions loaded: churn, color, convert, gpg, imerge, mq, patchbomb, rebase, record, svn, transplant Traceback (most recent call last): File "/Users/dialtone/bin/hg", line 14, in <module> mercurial.dispatch.run() File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 20, in run sys.exit(dispatch(sys.argv[1:])) File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 29, in dispatch return _runcatch(u, args) File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 45, in _runcatch return _dispatch(ui, args) File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 366, in _dispatch ret = _runcommand(ui, options, cmd, d) File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 419, in _runcommand return checkargs() File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 375, in checkargs return cmdfunc() File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 358, in <lambda> d = lambda: func(ui, repo, *args, cmdoptions) File "/Users/dialtone/dev/hgsubversion/init.py", line 8, in svn return svncommand.svncmd(ui, repo, subcommand, *args, opts) File "/Users/dialtone/dev/hgsubversion/svncommand.py", line 39, in svncmd opts) File "/Users/dialtone/dev/hgsubversion/push_cmd.py", line 51, in push_revisions_to_subversion assert len(replacement) == 1 AssertionError }}}

I'm using mercurial repo at rev 7094 and latest hgsubversion. Same error if I make a new local branch, then commit the new change there and try to push it.

Comments (8)

  1. Anonymous

    Does this only happen with an empty file? Can you get me a publicly-available set of steps to reproduce?

  2. Valentino Volonghi reporter

    no, this happens with any changeset that I try to make. Unfortunately I've only tried to use hgsubversion on a private repository that I cannot share.

    I don't even have any publicly available svn trees that I can migrate because for my own stuff I already use mercurial. I'm available on #mercurial as a living pdb though.

  3. Valentino Volonghi reporter

    I was using the official distribution for subversion. Now I tried with recompiling subversion 1.5.3 from sources using macports and then compiling the python bindings.

    Unfortunately if I use neon (by setting http-library=neon in /.subversion/servers) it fails in the way above, while if I switch to serf it fails in this new way:

    ** unknown exception encountered, details follow
    ** report bug details to http://www.selenic.com/mercurial/bts
    ** or mercurial@selenic.com
    ** Mercurial Distributed SCM (version unknown)
    ** Extensions loaded: churn, color, convert, gpg, imerge, mq, patchbomb, rebase, record, svn, transplant
    Traceback (most recent call last):
      File "/Users/dialtone/bin/hg", line 14, in <module>
        mercurial.dispatch.run()
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 20, in run
        sys.exit(dispatch(sys.argv[1:]))
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 29, in dispatch
        return _runcatch(u, args)
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 45, in _runcatch
        return _dispatch(ui, args)
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 366, in _dispatch
        ret = _runcommand(ui, options, cmd, d)
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 419, in _runcommand
        return checkargs()
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 375, in checkargs
        return cmdfunc()
      File "/Users/dialtone/dev/mercurial/mercurial/dispatch.py", line 358, in <lambda>
        d = lambda: func(ui, repo, *args, **cmdoptions)
      File "/Users/dialtone/dev/hgsubversion/__init__.py", line 8, in svn
        return svncommand.svncmd(ui, repo, subcommand, *args, **opts)
      File "/Users/dialtone/dev/hgsubversion/svncommand.py", line 39, in svncmd
        **opts)
      File "/Users/dialtone/dev/hgsubversion/push_cmd.py", line 42, in push_revisions_to_subversion
        commit_from_rev(ui, repo, old_ctx, hge, svn_url, base_revision)
      File "/Users/dialtone/dev/hgsubversion/push_cmd.py", line 83, in commit_from_rev
        svn = svnwrap.SubversionRepo(svn_url, username=merc_util.getuser())
      File "/Users/dialtone/dev/hgsubversion/svnwrap/svn_swig_wrapper.py", line 84, in __init__
        self.init_ra_and_client()
      File "/Users/dialtone/dev/hgsubversion/svnwrap/svn_swig_wrapper.py", line 106, in init_ra_and_client
        self.client_context)
      File "/opt/local/lib/svn-python/libsvn/client.py", line 1815, in svn_client_open_ra_session
        return apply(_client.svn_client_open_ra_session, args)
    svn.core.SubversionException: ('Error running context: APR does not understand this error code', 230001)
    

    I can reproduce this with any google code repository. Running on leopard 10.5.5

  4. Valentino Volonghi reporter

    Ok, so error 230001 means that the server side certificate has to be approved by the user. By doing that using the svn client and by repeating the svn push using the serf backend the original error at the top is still there (using the google code dummy svn tree).

    Versions of libraries:

    The commit is created (there are 6 revisions in that tree) but no changeset is attached.

  5. Log in to comment