118

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

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

$ git svn
git:'svn' 不是
git 命令。请参阅“git --help”。

你的意思是其中之一吗?
        fsck
        显示
4

13 回答 13

280

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

sudo apt-get install git-svn

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

于 2009-02-09T03:11:01.690 回答
33

在 Ubuntu 上:

sudo add-apt-repository ppa:git-core/ppa
apt-get update
sudo apt-get install git-svn
于 2014-02-03T19:39:03.090 回答
19

我不确定git svn 是否曾与最近的 Git Windows 发行版(1.5.6 后)一起使用。

之前已经报告了许多问题,因此git svn可能不会包含在当前的 msysGit 版本中。

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

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


更新:从 MSysGit1.6.2(2009 年 3 月上旬)开始,git-svn再次工作。请参阅这个SO 问题


更新:已经包含了适用于 Windows 2.x 的现代 (2017) Git。 不需要,这只能在WSL(Linux 的 Windows 子系统)shell 会话中实现git svn
sudo apt-get install git-svn

于 2009-02-09T08:00:33.617 回答
7

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

$ 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 绑定。尝试安装它们并再次运行该命令。

于 2009-02-09T03:10:50.787 回答
7

为了后代:在 CentOS 7 上,只需运行sudo yum install git-svn.

于 2015-12-22T09:34:40.647 回答
6

它没有安装在我在 WSL 上全新安装的 Ubuntu 上 -

sudo apt install git-svn

排序:

❯ git svn
git-svn - bidirectional operations between a single Subversion tree and git
...
于 2019-11-08T18:39:46.970 回答
4

我在 Cygwin 1.7 下遇到了同样的错误。通过安装带有 Cygwin 设置的 git-svn 包解决了这个问题。

于 2009-05-21T22:17:17.257 回答
3

在 Gentoo 上,你应该使用 USE="subversion" 构建 git

于 2013-12-11T09:17:33.527 回答
3

MacPorts 版本:

port install git +svn

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

于 2017-03-24T01:04:10.910 回答
3

在我使用的 CentOS 上

sudo yum install git-svn
于 2018-10-26T20:55:59.460 回答
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)
于 2015-03-02T03:29:33.217 回答
1

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

于 2009-04-01T14:57:54.527 回答
0

在 Fedora 上,我必须安装它

sudo dnf install -y git-svn
于 2018-07-03T05:34:45.587 回答