2009-02-09 242 views
84

雖然試圖在git控制下獲得一箇舊的svn項目轉儲,但我遇到了一個有趣的問題。每當我運行git svn,我得到一個錯誤,說它不是一個git命令,但有文檔可以使用git help。我的安裝有問題嗎,還是我在這裏錯過了一些東西?git-svn不是git命令?

編輯:我也許應該還提到,我在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

回答

15

我不確定git svn has ever worked與最近的Git Windows版本(後1.5.6)。

很多問題have been reported之前,所以git svn可能非常不包含在當前的msysGit版本中。

另一個當前活動的「Git on Windows」開發mingw.git確實在其README中聲明svn不起作用。

thread of Msysgit確實表明git svn可能會在某些時候重新整合,但進度仍然很慢。


更新:從MSysGit1.6.2(2009年3月初),git-svn作品再次。請參閱SO question


更新:有modern (2017) Git for Windows 2.xgit svn已經包含。
不需要sudo apt-get install git-svn,無論如何只有在WSL (Windows Subsystem for Linux) shell session纔有可能。

+0

git svn肯定與Windows上的Git捆綁在一起:) – 2013-12-13 00:50:27

+1

@TthThomson我同意,這是我2009年3月發佈的更新說的。 – VonC 2013-12-13 06:48:52

4

在我的系統我有這樣的煩惱:

$ 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

我還與安裝在不同的位置比預期的Git的Perl綁定看到了這一點;用符號鏈接更正。 – Paul 2009-02-09 06:29:06

224

我只是檢查我新安裝的ubuntu盒子,即使安裝了git-core也沒有安裝它。一個簡單的:

sudo apt-get install git-svn 

或您的發行版等效應該修復它。

1

如果git-svn不是mSysGit的一部分,我建議使用一個小的UNIX服務器來託管克隆svn存儲庫的網關存儲庫,然後將該存儲庫克隆到Windows機器上。這是我用來從git與CVS進行交互的方法。

4

我在Cygwin 1.7下有同樣的錯誤。這是通過安裝Cygwin安裝git-svn軟件包解決的。

2

在Gentoo,你應該建立混帳與USE = 「顛覆」

20

在Ubuntu:

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

有類似的問題上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 /共享/的perl5)位於/ usr /本地/的libexec/git的核/ GIT中 - svn的線25

我的解決辦法:

須藤蔭安裝顛覆-perl的 chmod 755/usr/local/share/perl5 /(和子目錄,因爲它們只能由root讀取)

5

後人:在CentOS 7上,只需運行sudo yum install git-svn

1

MacPorts的版本:

port install git +svn 

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