[issue2049] convert(svn) assumes the root URL is also SVN

Doug Shea bugs at mercurial.selenic.com
Wed Feb 17 19:59:40 UTC 2010


New submission from Doug Shea <douglas.shea at navteq.com>:

We have our Subversion server set up in such a way that the root (http://chi-td-svn/) is NOT Subversion, but the repositories under it ARE (http://chi-td-
svn/nvtdetect/). When I try to convert this to an HG repository, it sends SVN commands to that root URL, which fail. Example:

D:\code>hg convert http://chi-td-svn/nvtdetect/ fr_hg
scanning source...
sorting...
converting...
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial at selenic.com
** Mercurial Distributed SCM (version 1.4.3)
** Extensions loaded: extdiff, convert
Traceback (most recent call last):
  File "hg", line 36, in <module>
  File "mercurial\dispatch.pyo", line 16, in run
  File "mercurial\dispatch.pyo", line 30, in dispatch
  File "mercurial\dispatch.pyo", line 46, in _runcatch
  File "mercurial\dispatch.pyo", line 454, in _dispatch
  File "mercurial\dispatch.pyo", line 324, in runcommand
  File "mercurial\dispatch.pyo", line 505, in _runcommand
  File "mercurial\dispatch.pyo", line 459, in checkargs
  File "mercurial\dispatch.pyo", line 453, in <lambda>
  File "mercurial\util.pyo", line 386, in check
  File "hgext\convert\__init__.pyo", line 229, in convert
  File "hgext\convert\convcmd.pyo", line 398, in convert
  File "hgext\convert\convcmd.pyo", line 329, in convert
  File "hgext\convert\convcmd.pyo", line 301, in copy
  File "hgext\convert\hg.pyo", line 166, in putcommit
  File "mercurial\localrepo.pyo", line 875, in commitctx
  File "mercurial\context.pyo", line 789, in __getitem__
  File "mercurial\context.pyo", line 814, in filectx
  File "hgext\convert\hg.pyo", line 134, in getfilectx
  File "hgext\convert\subversion.pyo", line 372, in getfile
  File "hgext\convert\subversion.pyo", line 846, in _getfile
  File "libsvn\ra.pyo", line 631, in svn_ra_get_file
svn.core.SubversionException: ("PROPFIND of '/nvtdetect/branches/multifeature/doc/Model.vsd': could not connect to server (http://chi-td-svn)", 175002)

An example similar to our Apache configuration, explaining why we're set up this way:

<Location "/">
        AuthBasicProvider ldap
        AuthType Basic
        AuthzLDAPAuthoritative on
        AuthName "NAVTEQ Subversion"
        AuthLDAPURL ldap://ad.navteq.com:3268/DC=ad,DC=navteq,DC=com?sAMAccountName
        AuthLDAPBindDN not-the-real-account
        AuthLDAPBindPassword not-the-real-password

        require valid-user
</Location>

<Location "/nvtdetect">
        DAV svn
        SVNPath /subversion/repositories/nvtdetect
        SVNIndexXSLT /svnindex.xsl

        <LimitExcept GET PROPFIND OPTIONS REPORT>
                Require ldap-group CN=Group1,OU=Groups,OU=HQ,DC=ad,DC=navteq,DC=com
                Require ldap-group CN=Group2,OU=Groups,OU=HQ,DC=ad,DC=navteq,DC=com
        </LimitExcept>
</Location>

This setup requires a user have an AD account to authenticate for read-only access to all repositories, and then allows us to set up per-repository 
authorization for commit actions, based on group membership. The drawback is that the HTTP root is not handled by SVN itself, thus causing your convert to 
fail.

Doug

----------
messages: 11795
nosy: GorillaNinja
priority: bug
status: unread
title: convert(svn) assumes the root URL is also SVN

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2049>
____________________________________________________


More information about the Mercurial-devel mailing list