2009-02-09 26 views
84

Al intentar obtener un viejo volcado svn de un proyecto bajo control git, me encontré con un problema interesante. Cada vez que ejecuto git svn, me sale un error al decir que no es un comando git, pero hay documentación que puedo extraer usando git help. ¿Hay algún problema con mi instalación, o me estoy perdiendo algo aquí?git-svn no es un comando git?

Editar: probablemente debería también mencionar que estoy corriendo msysGit versión 1.6.1.9.g97c34 bajo Windows XP y el error que consigo es:

$ git svn 
git: 'svn' is not a 
git-command. See 'git --help'. 

Did you mean one of these? 
     fsck 
     show

Respuesta

15

No estoy seguro de que git svn has ever worked con la distribución reciente de Windows Git (post 1.5.6).

Muchos problemas have been reported antes, por lo que git svn pueden no estar incluidos en las versiones actuales de msysGit.

Otro desarrollo actual activo de "Git en Windows" mingw.git indica en su README que svn no funciona.

thread of Msysgit sugiere que git svn se puede reintegrar en algunos puntos, pero el progreso sigue siendo lento.


Actualización: desde MSysGit1.6.2 (principios de marzo de 2009), git-svn obras de nuevo. Vea esto SO question.


Actualización: con un modern (2017) Git for Windows 2.x, git svn ya está incluido.
Sin necesidad de sudo apt-get install git-svn, que solo sería posible en un WSL (Windows Subsystem for Linux) shell session de todos modos.

+0

git svn está ciertamente incluido con Git ahora en Windows :) –

+1

@TodThomson Estoy de acuerdo, y eso es lo que está diciendo mi actualización de marzo de 2009. – VonC

+0

para windows 10 usuarios 'sudo apt-get install git-svn' – behelit

4

Bajo mi sistema que he tenido este problema:

$ git svn 
Can't locate SVN/Core.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.10.0 
/usr/lib/perl5/5.10.0/i486-linux-thread-multi 
/usr/lib/perl5/5.10.0 
/usr/lib/perl5/site_perl/5.10.0/i486-linux-thread-multi 
/usr/lib/perl5/site_perl/5.8.8 
/usr/lib/perl5/site_perl 
/usr/lib/perl5/vendor_perl/5.10.0/i486-linux-thread-multi 
/usr/lib/perl5/vendor_perl/5.10.0 
/usr/lib/perl5/vendor_perl/5.8.8 
/usr/lib/perl5/vendor_perl .) at 
/usr/libexec/git-core/git-svn line 29. 

porque no tengo enlaces de Perversion de Subversion instalados. Intenta instalarlos y ejecuta el comando nuevamente.

+3

También he visto esto con los enlaces de Perl instalados en un lugar diferente de Git espera; corregido con un enlace simbólico. – Paul

224

Acabo de comprobar en mi caja ubuntu recién instalada y no fue instalada incluso con git-core instalado. Un simple:

sudo apt-get install git-svn 

o su equivalente de distro debería solucionarlo.

1

Si git-svn no es parte de mSysGit, recomiendo usar un pequeño servidor UNIX para alojar su repositorio de puerta de enlace que clona su repositorio svn, y luego clonar ese repositorio en su máquina Windows. Este es el enfoque que estoy usando para interactuar con CVS desde git.

4

Tuve el mismo error en Cygwin 1.7. Fue resuelto instalando el paquete git-svn con la configuración de Cygwin.

2

en Gentoo, se debe construir git con USE = "subversión"

20

En Ubuntu:

sudo add-apt-repository ppa:git-core/ppa 
apt-get update 
sudo apt-get install git-svn 
+0

El ppa es opcional. git-svn está incluido en el repositorio estándar. – jgomo3

0

tenido un problema similar en RHEL6

es decir, No se puede ubicar Git/SVN.pm en @INC (@INC contiene:/usr/local/share/perl5/usr/local/lib64/perl5/usr/lib64/perl5/vendor_perl/usr/share/perl5/vendor_perl/usr/lib64/perl5/usr/share/perl5) en la línea/usr/local/libexec/git-core/git-svn 25.

Mi solución:.

sudo yum instalar subversión-perl chmod 755/usr/local/share/perl5/(y subdirectorios, ya que solo eran legibles por root)

5

Para la posteridad: en CentOS 7, simplemente ejecute sudo yum install git-svn. Versión

1

DarwinPorts:

port install git +svn 

(Nota: es probable necesidad de port deactivate git primero)

Cuestiones relacionadas