¿Cómo resuelvo este error al intentar exportar SVN usando pysvn?

Estoy intentando usar los enlaces de SVN de Python (pysvn) para exportar en un repository y encuentro el siguiente error:

python: subversion/libsvn_subr/dirent_uri.c:955: svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed. Aborted (core dumped) 

El código de ejemplo es:

 import pysvn client = pysvn.Client() uri = 'https://svn.mycompany.com/myproject/trunk/' # This works fine print client.list(uri) # This crashes with the above error r = client.export(uri, './temp', force=True) 

Sin embargo, al hacer una svn export --force https://svn.mycompany.com/myproject/trunk/ desde un intérprete de commands de shell funciona sin problemas.

Estoy usando:

  • Python 2.7.3
  • Subversión 1.7.5
  • CentOS 6.0 x64

Alguna idea, por favor?

Subversion API utiliza URL canónica y routes internamente. Tu URL tiene una barra inclinada y esta no es una URL canónica. Elimine la barra inclinada o use la function svn_uri_canonicalize () para canonicalizar la URL antes de llamar a las funciones de la API de Subversion.

Puede encontrar más detalles en la documentation de la API Subversion: http://subversion.apache.org/docs/api/latest/svn_ dirent _uri_8h.html

Intenté usar el esquema svn+ssh:// y obtuve el mismo error. Esto me llevó a creer que el error de aserción podría no estar relacionado con el URI repo. Por un capricho, cambié el directory de export a /tmp/ y todo funcionó bien. El directory que estaba tratando de usar previamente ( ./temp ) existe en mi directory de inicio que está en un assembly NFS con la opción "root squash" habilitada. Se sabe que esto causa problemas extraños en las aplicaciones.