git -svn不是git命令吗?


108

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

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

$ git svn 
git:“ svn”不是
git-command。参见'git --help'。

您是这些意思之一吗?
        fsck
        表演

Answers:


16

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

以前已经报告了许多问题,因此git svn,当前的msysGit版本中可能未包含很多问题。

当前另一个活跃的“ Windows上的Git”开发mingw.git自述文件中确实指出svn不起作用。

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


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


更新:用现代(2017年)的Git为Windows 2.x中git svn已经包含。
不需要sudo apt-get install git-svn,这仅在WSL(Linux的Windows子系统)shell会话中才有可能。


git svn当然已经在Windows上与Git捆绑在一起:)
Tod Thomson

1
@TodThomson我同意,这就是我从2009年3月以来的最新消息。
VonC

2
对于Windows 10用户sudo apt-get install git-svn
相信

266

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

sudo apt-get install git-svn

或与您的发行版相当的产品应予以修复。


32

在Ubuntu上:

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

4
ppa是可选的。git-svn包含在标准存储库中。
jgomo3'9

老问题了,但仍然在Ubuntu上安装git-svn时,我认为应该补充一点,我们必须使用git svn而不是git-svn
nsaura

我需要的PPA部分在Ubuntu 16
斯里达尔Sarnobat

apt-get updatesudo也需要。我尝试更新响应,但是由于编辑少于6个字符,所以不允许我这样做
PauFracés

6

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

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


3
我还看到了Perl绑定安装在与Git预期不同的位置的现象。用符号链接更正。
保罗,



3

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


3

MacPorts版本:

port install git +svn

(注意:您可能需要port deactivate git先进行操作)


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)

这正是我的问题。该/usr/local/share/perl5目录和内容所需的权限。谢谢!
安德鲁·基尔纳

2

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

sudo apt install git-svn

排序:

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

1

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



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.