git-svn n'est pas une commande git?

108

En essayant d'obtenir un ancien vidage svn d'un projet sous contrôle git, j'ai rencontré un problème intéressant. Chaque fois que je cours git svn, j'obtiens une erreur disant que ce n'est pas une commande git, mais il existe une documentation à ce sujet que je peux utiliser git help. Y a-t-il un problème avec mon installation ou est-ce que je manque simplement quelque chose ici?

Edit: Je devrais probablement également mentionner que j'utilise msysGit version 1.6.1.9.g97c34 sous Windows XP, et l'erreur que j'obtiens est:

$ git svn 
git: 'svn' n'est pas un
git-command. Voir 'git --help'.

Voulez-vous dire un de ceux-ci?
        fsck
        spectacle
Cristián Romo
la source

Réponses:

16

Je ne suis pas sûr que git svn ait jamais fonctionné avec la distribution récente de Git Windows (post 1.5.6).

De nombreux problèmes ont déjà été signalés et git svnpeuvent donc ne pas être inclus dans les versions actuelles de msysGit.

Un autre développement actif de "Git sur Windows" mingw.git indique dans son README que svn ne fonctionne pas.

Ce thread de Msysgit suggère que git svn peut être réintégré à certains moments, mais les progrès sont encore lents.


Mise à jour: à partir de MSysGit1.6.2 (début mars 2009), git-svnfonctionne à nouveau . Voir cette question SO .


Mise à jour: avec un Git moderne (2017) pour Windows 2.x , git svnest déjà inclus.
Pas besoin sudo apt-get install git-svn, ce qui ne serait possible que dans une session shell WSL (Windows Subsystem for Linux) de toute façon.

VonC
la source
git svn est certainement fourni avec Git maintenant sur Windows :)
Tod Thomson
1
@TodThomson Je suis d'accord, et c'est ce que dit ma mise à jour de mars 2009.
VonC
2
pour les utilisateurs de Windows 10sudo apt-get install git-svn
behelit
266

Je viens de vérifier ma boîte ubuntu nouvellement installée et elle n'a pas été installée même avec git-core installé. Un simple:

sudo apt-get install git-svn

ou votre équivalent de distribution devrait le réparer.

hacintosh
la source
32

Sur Ubuntu:

sudo add-apt-repository ppa:git-core/ppa
apt-get update
sudo apt-get install git-svn
Alexsaintx
la source
4
Le ppa est facultatif. git-svn est inclus dans le référentiel standard.
jgomo3
Ancienne question mais toujours quand git-svn est installé sur Ubuntu, je pense qu'il faut ajouter qu'il faut utiliser git svn et non git-svn
nsaura
J'avais besoin de la partie ppa sur Ubuntu 16.
Sridhar Sarnobat
apt-get updatebesoins sudoaussi. J'ai essayé de mettre à jour la réponse mais comme la modification comporte moins de 6 caractères, SO ne me permet pas de le faire
Pau Fracés
6

Sous mon système, j'ai eu ce problème:

$ 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.

parce que je n'ai pas de liaisons Subversion Perl installées. Essayez de les installer et exécutez à nouveau la commande.

jfsantos
la source
3
J'ai également vu cela avec les liaisons Perl installées dans un emplacement différent de celui attendu par Git; corrigé avec un lien symbolique.
Paul
6

Pour la postérité: sur CentOS 7, exécutez simplement sudo yum install git-svn.

Dave Gregory
la source
4

J'ai eu la même erreur sous Cygwin 1.7. Il a été résolu en installant le paquet git-svn avec la configuration de Cygwin.

Esko Luontola
la source
3

Sur Gentoo, vous devez compiler git avec USE = "subversion"

user1012316
la source
3

Version MacPorts:

port install git +svn

(Remarque: vous devez probablement d' port deactivate gitabord)

merv
la source
2

Avait un problème similaire sur RHEL6, à savoir,

Impossible de localiser Git / SVN.pm dans @INC (@INC contient: / usr / local / share / perl5 / usr / local / lib64 / perl5 / usr / lib64 / perl5 / vendor_perl / usr / share / perl5 / vendor_perl / usr / lib64 / perl5 / usr / share / perl5.) à / usr / local / libexec / git-core / git-svn ligne 25.

Ma solution:

sudo yum install subversion-perl
chmod 755  /usr/local/share/perl5/ (and sub dirs, as they were only readable by root)
Rob
la source
C'était exactement mon problème. Le /usr/local/share/perl5répertoire et le contenu avaient besoin de ces autorisations. Je vous remercie!
Andrew Kirna
2

Il n'a pas été installé sur ma nouvelle installation d'Ubuntu sur WSL -

sudo apt install git-svn

trié:

❯ git svn
git-svn - bidirectional operations between a single Subversion tree and git
...
drkvogel
la source
1

Si git-svn ne fait pas partie de mSysGit, je recommande d'utiliser un petit serveur UNIX pour héberger votre référentiel de passerelle qui clone votre référentiel svn, puis cloner ce référentiel sur votre machine Windows. C'est l'approche que j'utilise pour interagir avec CVS ​​depuis git.

sauter
la source
1

Sur CentOS j'ai utilisé

sudo yum install git-svn
Rogério Arantes
la source
0

Sur Fedora, j'ai dû l'installer avec

sudo dnf install -y git-svn
isapir
la source