git mingw32 y nombres de ruta / file largos en windows

Tengo un repository SVN de producción que quiero clonar con git. cuando bash hacer git svn clone , obtengo un error que tiene que ver con algunos files que tienen una combinación larga de nombre de file de ruta.

Me imagino que esta es una limitación causada por el shell mingw32 de GNU que git usa para ejecutar, ya que ni Windows ni Unix tienen este tipo de limitación.

¿Hay alguna forma de superar esta limitación? No quiero comenzar a cambiar los nombres de file / routes antes de estar seguro de que quiero pasar a git.

Gracias.

Esta es una limitación de Windows en que MAX_PATH tiene 260 caracteres, es decir, una ruta puede tener un máximo de 260 caracteres (por lo que una vez que count la letra del controller, los dos puntos y la inicial \ y la NUL posterior, tiene 256 caracteres para tu path).

Windows tiene una ruta Unicode que puede tener una longitud de aproximadamente 32.767. Puede get dicho path prefijando las routes con \\?\

Consulte aquí para get más información: http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

También puede ver el uso de subst para sustituir una ruta larga con un nombre de unidad y operar en eso.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/subst.mspx?mfr=true

Lo anterior es una forma de superar la limitación, pero puede que no sea fácil aplicarlo durante un git svn clone , por supuesto. Asegúrese de que la ruta en la que inicia el clon sea lo más corta posible. Use subst para asignar una letra de unidad a la ruta donde está clonando y usar esa unidad.

Estoy en Windows XP y tuve el mismo problema. Seguí la solución anterior usando subst y funcionó, de la siguiente manera:

Primero, en el símbolo del sistema: subst z: c: \ my \ rather \ long \ path \ to \ local \ repo \

Luego en git: git clone https://github.com/my/repo z: / repo_name

Un repository que anteriormente era demasiado largo ahora se clonó en mi PC.

La solución anterior funcionó. Además de eso, el antiguo path de repo aún puede mostrar brocken en tortoicegit con su ruta completa de windows lenth, pero si vas al explorador de Windows y tomas la nueva letra de unidad que resultará después del command subst, puedes ver el repo adecuado y tortoicegit funcionará perfectamente allí.