2009-11-01 13 views
20

Esta es una sino de una parte 2 en tratar de convertir a un repositorio SVN a un Mercurial comando de unafijaciones Subversion pitón No se pudieron cargar

es:

hg convert file://c:/svnrepository 

pero, la salida que se ve es :

assuming destination svnrepository-hg 
initializing destination svnrepository-hg repository 
file://c:/svnrepository does not look like a CVS checkout 
file://c:/svnrepository does not look like a Git repo 
Subversion python bindings could not be loaded 
file://c:/svnrepository is not a local Mercurial repo 
file://c:/svnrepository does not look like a darcs repo 
file://c:/svnrepository does not look like a monotone repo 
file://c:/svnrepository does not look like a GNU Arch repo 
file://c:/svnrepository does not look like a Bazaar repo 
file://c:/svnrepository does not look like a P4 repo 
abort: file://c:/svnrepository: missing or unsupported repository 

La línea que me interesa es:

Subversion python bindings could not be loaded 

He instalado Python 2.5 y he instalado los enlaces de subversión de python del sitio web de subversión. Sin embargo, sigue recibiendo este error

+1

Usted podría hacer un 'svn' importación desde una consola Python, para comprobar si esa parte ya funciona Asegúrate de haber instalado los enlaces que corresponden a las dos versiones de SVN y Python (sé que suena obvio). – RedGlyph

+0

Tengo este mismo problema en Mac OS. La supuesta solución conduce a peores errores: 'Error fatal de Python: el intérprete no se inicializó (¿desajuste de la versión?) Abort trap' – keflavich

+0

Vea [esta respuesta] (http://stackoverflow.com/a/16950786/14558) para saber cómo instalar los enlaces en Mac OS. – andrewdotn

Respuesta

14

El problema de explicarse here en el título "La conversión de la subversión":

Subversion's Python bindings are a prerequisite. The bindings (generated with SWIG) are installed separately on Windows, and can be found on http://subversion.tigris.org/ . Note that you can't do this with the Win32 Mercurial binaries -- there's no way to install the Subversion bindings into its built-in Python library. So you'll need to use a Mercurial installed on top of a stand-alone Python, and you may also need to do something like "set HG=python c:\Python25\Scripts\hg" to override the default Win32 binaries if you have those installed also. For Mac OS X, the easiest way is to install the CollabNet Subversion build, and then copy the content of /opt/subversion/lib/svn-python to the site-package directory of the python installation.

Desafortunadamente Hg + SVN + WIN no parecer ser más fácil con hgsubversion, al menos a juzgar por this post y this discussion (no tengo Windows instalado para intentar ayudar, suspirar).

+1

Oh hombre eso es complicado. ¡No lo hacen fácil! Ni siquiera sé qué significa "construir Mercurial encima de Python" - los instalé a ambos. – Paul

+5

De acuerdo con: https://www.mercurial-scm.org/pipermail/mercurial/2009-May/026015.html los enlaces de subversión se incluyen en tortoisehg. Entonces solo necesitas habilitar la extensión de conversión en tortoisehg. – tonfa

+1

¡Ah, ja! Otro paso adelante. Cambié mi camino para apuntar a hg en TortoiseHG en lugar de Mercurial y esto superó ese obstáculo. Ahora simplemente no cree que el repositorio es un SVN, ahh! – Paul

4
sudo apt-get install python-subversion 

me funcionó en Ubuntu.

+0

Esto hizo una gran diferencia – Vass

+0

pregunta es para Windows – CharlesB

21

sólo quería llevar la solución real de las observaciones sobre la respuesta de Alex Martelli:

According to https://www.mercurial-scm.org/pipermail/mercurial/2009-May/026015.html the subversion bindings are included in tortoisehg. So you just need to enable the convert extension in tortoisehg. – tonfa

Ah ha! Another step forward. I changed my path to point at hg in TortoiseHG instead of Mercurial and this got over that hurdle. Now it just doesn't think the repository is an SVN one, ahh! – Paul

Esto funcionó para mí también.

Si actualmente está utilizando la versión de línea de comandos estándar de HG en Windows, los pasos específicos son:

  • Instalar TortoiseHG
  • Haga clic derecho en un archivo/TortoiseHG/Configuración global .../Extensiones/{Comprobar "convertir"}
  • Asegúrese TortoiseHG es el camino para su comando hg:
    • WinKey + Pausa/Avanzado/Variables de entorno/Variables de sistema/ruta
    • REMOVE C: \ Archivos de programa \ Mercurial del camino
    • Asegúrese de que C: \ Archivos de programa \ TortoiseHG hay
+5

Otra forma de lograr esto parece ser utilizar la ruta completa al ejecutable hg. Entonces en mi caso esto sería "c: \ Archivos de programa (x86) \ TortoiseHg \ hg.exe" convertir archivo: /// c:/svn/repo_name – zoom23

+0

Gracias por la útil publicación aquí. – jcollum

Cuestiones relacionadas