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

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.


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.


32

No Ubuntu:

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

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.


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.


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.



3

Versão MacPorts:

port install git +svn

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


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)

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

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.



0

No Fedora, tive que instalá-lo com

sudo dnf install -y git-svn
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.