git-svn不是git命令?

时间:2009-02-09 03:04:33

标签: svn git git-svn

尝试在git控件下获取项目的旧svn转储时,我遇到了一个有趣的问题。每当我运行git svn时,我都会收到错误消息,说它不是git命令,但是我可以使用git help获取文档。我的安装有什么问题,或者我在这里遗漏了什么?

编辑:我可能还应该提到我在Windows XP下运行msysGit版本1.6.1.9.g97c34,我得到的错误是:

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

Did you mean one of these?
        fsck
        show

13 个答案:

答案 0 :(得分:250)

我只是检查我新安装的ubuntu盒子,即使安装了git-core也没有安装。一个简单的:

sudo apt-get install git-svn

或您的发行版等效应该修复它。

答案 1 :(得分:30)

在Ubuntu上:

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

答案 2 :(得分:17)

我不确定git svn has ever worked是否使用了最新的Git Windows发行版(1.5.6后)。

之前有很多问题have been reported,因此当前msysGit版本中可能不会包含git svn

另一个当前活跃的“Windows上的Git”开发mingw.git确实在其README中声明svn不起作用。

这个thread of Msysgit确实表明git svn可能会在某些时候重新集成,但进展仍然很慢。


更新:来自MSysGit1.6.2(2009年3月初), git-svn再次工作。请参阅此SO question


更新:modern (2017) Git for Windows 2.x已包含git svn 不需要sudo apt-get install git-svn,这只能在WSL (Windows Subsystem for Linux) shell session中实现。

答案 3 :(得分:6)

对于后人:在CentOS 7上,只需运行sudo yum install git-svn

答案 4 :(得分:5)

在我的系统下,我遇到了这个麻烦:

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

因为我没有安装Subversion Perl绑定。尝试安装它们并再次运行命令。

答案 5 :(得分:4)

我在Cygwin 1.7下遇到了同样的错误。通过使用Cygwin安装程序安装git-svn软件包解决了这个问题。

答案 6 :(得分:2)

在Gentoo上,你应该用USE =“subversion”构建git

答案 7 :(得分:2)

在RHEL6上有类似的问题,即

  

无法在@INC中找到Git / SVN.pm(@INC包含:/ 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第25行。

我的解决方案:

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

答案 8 :(得分:2)

MacPorts版本:

port install git +svn

(注意:您可能需要先port deactivate git

答案 9 :(得分:1)

如果git-svn不是mSysGit的一部分,我建议使用一个小型UNIX服务器来托管你的svn存储库的网关存储库,然后将该存储库克隆到你的Windows机器上。这是我用来与git进行CVS交互的方法。

答案 10 :(得分:0)

在Fedora上,我必须使用

进行安装
sudo dnf install -y git-svn

答案 11 :(得分:0)

在我使用的CentOS上

sudo yum install git-svn

答案 12 :(得分:0)

它不是我在WSL上全新安装的Ubuntu上安装的-

sudo apt install git-svn

对其进行了排序:

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