git-svn não é um comando git?

108

Ao tentar obter um dump svn antigo de um projeto sob controle git, me deparei com um problema interessante. Sempre que executo git svn, recebo um erro dizendo que não é um comando git, mas há documentação para ele que posso puxar usando git help. Há algo errado com a minha instalação ou estou apenas perdendo algo aqui?

Editar: provavelmente também devo mencionar que estou executando o msysGit versão 1.6.1.9.g97c34 no Windows XP e o erro que recebo é:

$ git svn 
git: 'svn' não é um
comando git. Veja 'git --help'.

Você quis dizer um desses?
        fsck
        mostrar
Cristián Romo
fonte

Respostas:

16

Não tenho certeza se git svn já trabalhou com a distribuição Git Windows recente (post 1.5.6).

Muitos problemas foram relatados antes, portanto, git svnpodem não estar incluídos nas versões atuais do msysGit.

Outro mingw.git ativo de desenvolvimento do "Git no Windows" atual afirma em seu README que o svn não funciona.

Este tópico de Msysgit sugere que git svn pode ser reintegrado em alguns pontos, mas o progresso ainda é lento.


Atualização: de MSysGit1.6.2 (início de março de 2009), git-svnfunciona novamente . Veja esta pergunta SO .


Atualização: com um Git moderno (2017) para Windows 2.x , git svnjá está incluído.
Não há necessidade sudo apt-get install git-svn, o que só seria possível em uma sessão shell WSL (Windows Subsystem for Linux) de qualquer maneira.

VonC
fonte
git svn certamente vem junto com o Git agora no Windows :)
Tod Thomson
1
@TodThomson Eu concordo, e é isso que minha atualização de março de 2009 está dizendo.
VonC
2
para usuários do Windows 10sudo apt-get install git-svn
Behelit
266

Acabei de verificar minha caixa do ubuntu recém-instalada e não foi instalada nem mesmo com o git-core instalado. Um simples:

sudo apt-get install git-svn

ou seu equivalente na distro deve consertá-lo.

hacintosh
fonte
32

No Ubuntu:

sudo add-apt-repository ppa:git-core/ppa
apt-get update
sudo apt-get install git-svn
alexsaintx
fonte
4
O ppa é opcional. git-svn está incluído no repositório padrão.
jgomo3
Pergunta antiga, mas ainda quando git-svn é instalado no Ubuntu, acho que deve ser adicionado que temos que usar git svn e não git-svn
nsaura
Eu precisava da parte ppa no Ubuntu 16.
Sridhar Sarnobat
apt-get updateprecisa sudotambém. Tentei atualizar a resposta, mas como a edição tem menos de 6 caracteres, não me permite fazer isso
Pau Fracés
6

No meu sistema, tive 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 eu não tenho vínculos do Subversion Perl instalados. Tente instalá-los e executar o comando novamente.

jfsantos
fonte
3
Eu também vi isso com os vínculos Perl instalados em um local diferente do que o Git esperava; corrigido com um link simbólico.
Paulo
6

Para a posteridade: No CentOS 7, basta executar sudo yum install git-svn.

Dave Gregory
fonte
4

Eu tive o mesmo erro no Cygwin 1.7. Foi resolvido com a instalação do pacote git-svn com a configuração do Cygwin.

Esko Luontola
fonte
3

No Gentoo, você deve construir git com USE = "subversion"

user1012316
fonte
3

Versão MacPorts:

port install git +svn

(Observação: provavelmente você precisa port deactivate gitprimeiro)

merv
fonte
2

Tive um problema semelhante no RHEL6, ou seja,

Não é possível localizar Git / SVN.pm em @INC (@INC contém: / usr / local / share / perl5 / usr / local / lib64 / perl5 / usr / lib64 / perl5 / vendor_perl / usr / share / perl5 / vendor_perl / usr / lib64 / perl5 / usr / share / perl5.) em / usr / local / libexec / git-core / git-svn linha 25.

Minha solução:

sudo yum install subversion-perl
chmod 755  /usr/local/share/perl5/ (and sub dirs, as they were only readable by root)
Roubar
fonte
Este foi exatamente o meu problema. O /usr/local/share/perl5diretório e o conteúdo precisavam dessas permissões. Obrigado!
Andrew Kirna
2

Não foi instalado na minha nova instalação do Ubuntu no WSL -

sudo apt install git-svn

ordenou:

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

Se git-svn não fizer parte do mSysGit, eu recomendo usar um pequeno servidor UNIX para hospedar seu repositório de gateway que clona seu repositório svn e, em seguida, clone esse repositório em sua máquina Windows. Esta é a abordagem que estou usando para interagir com o CVS do git.

skiphoppy
fonte
1

No CentOS eu usei

sudo yum install git-svn
Rogério Arantes
fonte
0

No Fedora, tive que instalá-lo com

sudo dnf install -y git-svn
isapir
fonte