git-svn non è un comando git?


108

Durante il tentativo di ottenere un vecchio dump svn di un progetto sotto il controllo git, mi sono imbattuto in un problema interessante. Ogni volta che eseguo git svn, ricevo un errore che dice che non è un comando git, ma esiste una documentazione che posso utilizzare git help. C'è qualcosa che non va con la mia installazione o mi manca qualcosa qui?

Modifica: probabilmente dovrei anche menzionare che sto eseguendo msysGit versione 1.6.1.9.g97c34 in Windows XP e l'errore che ottengo è:

$ git svn 
git: 'svn' non è un file
git-comando. Vedere "git --help".

Volevi dire uno di questi?
        fsck
        mostrare

Risposte:


16

Non sono sicuro che git svn abbia mai funzionato con la recente distribuzione di Git Windows (post 1.5.6).

Molti problemi sono stati segnalati in precedenza, quindi git svnpotrebbero non essere inclusi nelle attuali versioni di msysGit.

Un altro sviluppo attualmente attivo "Git su Windows" mingw.git afferma nel suo README che svn non funziona.

Questo thread di Msysgit suggerisce che git svn può essere reintegrato in alcuni punti, ma i progressi sono ancora lenti.


Aggiornamento: da MSysGit1.6.2 (inizio marzo 2009), git-svnfunziona di nuovo . Vedi questa domanda SO .


Aggiornamento: con un moderno (2017) Git per Windows 2.x , git svnè già incluso.
Non è necessario sudo apt-get install git-svn, cosa che sarebbe comunque possibile solo in una sessione di shell WSL (Windows Subsystem for Linux) .


git svn è certamente in bundle con Git ora su Windows :)
Tod Thomson

1
@TodThomson Sono d'accordo, e questo è ciò che dice il mio aggiornamento di marzo 2009.
VonC

2
per utenti Windows 10sudo apt-get install git-svn
behelit

266

Ho appena controllato la mia casella Ubuntu appena installata e non è stata installata nemmeno con git-core installato. Un semplice:

sudo apt-get install git-svn

o la tua distribuzione equivalente dovrebbe risolverlo.


32

Su Ubuntu:

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

4
Il ppa è opzionale. git-svn è incluso nel repository standard.
jgomo3

Vecchia domanda ma ancora quando git-svn è installato su Ubuntu, penso che dovrebbe essere aggiunto che dobbiamo usare git svn e non git-svn
nsaura

Avevo bisogno della parte ppa su Ubuntu 16.
Sridhar Sarnobat

apt-get updateha bisogno sudoanche. Ho provato ad aggiornare la risposta ma poiché la modifica è inferiore a 6 caratteri, quindi non me lo consente
Pau Fracés

6

Con il mio sistema ho avuto questo 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.

perché non ho i collegamenti Perl Subversion installati. Prova a installarli e ad eseguire nuovamente il comando.


3
L'ho visto anche con i collegamenti Perl installati in una posizione diversa da quella prevista da Git; corretto con un collegamento simbolico.
Paul,


4

Ho avuto lo stesso errore con Cygwin 1.7. È stato risolto installando il pacchetto git-svn con l'installazione di Cygwin.



3

Versione MacPorts:

port install git +svn

(Nota: probabilmente devi port deactivate gitprima)


2

Ho avuto un problema simile su RHEL6, ovvero

Impossibile individuare Git / SVN.pm in @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.) in / usr / local / libexec / git-core / git-svn riga 25.

La mia soluzione:

sudo yum install subversion-perl
chmod 755  /usr/local/share/perl5/ (and sub dirs, as they were only readable by root)

Questo era esattamente il mio problema. La /usr/local/share/perl5directory e il contenuto necessitavano di tali autorizzazioni. Grazie!
Andrew Kirna,

2

Non è stato installato sulla mia nuova installazione di Ubuntu su WSL -

sudo apt install git-svn

ordinato:

❯ git svn
git-svn - bidirectional operations between a single Subversion tree and git
...

1

Se git-svn non fa parte di mSysGit, consiglio di utilizzare un piccolo server UNIX per ospitare il repository del gateway che clona il repository svn e quindi clona quel repository sulla macchina Windows. Questo è l'approccio che sto usando per interagire con CVS da git.



0

Su Fedora ho dovuto installarlo con

sudo dnf install -y git-svn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.