git-svn không phải là lệnh git?


108

Trong khi cố gắng tải xuống một kết xuất svn cũ của một dự án dưới sự kiểm soát của git, tôi đã gặp phải một vấn đề thú vị. Bất cứ khi nào tôi chạy git svn, tôi gặp lỗi nói rằng đó không phải là lệnh git, nhưng vẫn có tài liệu cho nó mà tôi có thể lấy ra bằng cách sử dụng git help. Có điều gì đó sai với cài đặt của tôi, hoặc tôi chỉ thiếu một cái gì đó ở đây?

Chỉnh sửa: Tôi có lẽ cũng nên đề cập rằng tôi đang chạy msysGit phiên bản 1.6.1.9.g97c34 trong Windows XP và lỗi tôi nhận được là:

$ git svn 
git: 'svn' không phải là
lệnh git. Xem 'git --help'.

Ý bạn là một trong số này?
        fsck
        chỉ

Câu trả lời:


16

Tôi không chắc rằng git svn đã từng làm việc với bản phân phối Git Windows gần đây (bài 1.5.6).

Nhiều sự cố đã được báo cáo trước đây, vì vậy git svnrất có thể không có trong các bản phát hành msysGit hiện tại.

Một bản phát triển "Git trên Windows" hiện đang hoạt động khác mingw.git hiện trạng thái trong README của nó rằng svn không hoạt động.

Chủ đề này của Msysgit gợi ý rằng git svn có thể được tích hợp lại vào một số thời điểm, nhưng tiến độ vẫn còn chậm.


Cập nhật: từ MSysGit1.6.2 (đầu tháng 3 năm 2009), git-svnhoạt động trở lại . Xem câu hỏi SO này .


Cập nhật: với Git hiện đại (2017) cho Windows 2.x , git svnđã được bao gồm.
Không cần thiết sudo apt-get install git-svn, điều này chỉ có thể thực hiện được trong phiên shell WSL (Hệ thống con của Windows cho Linux) .


svn git là chắc chắn đi kèm với Git hiện trên Windows :)
Tod Thomson

1
@TodThomson Tôi đồng ý, và đó là nội dung cập nhật của tôi từ tháng 3 năm 2009.
VonC

2
cho các cửa sổ 10 ngườisudo apt-get install git-svn
behelit

266

Tôi chỉ kiểm tra hộp ubuntu mới được cài đặt của mình và nó chưa được cài đặt ngay cả khi đã cài đặt git-core. Một đơn giản:

sudo apt-get install git-svn

hoặc bản phân phối tương đương của bạn sẽ sửa nó.


32

Trên Ubuntu:

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

4
Ppa là tùy chọn. git-svn được bao gồm trong kho lưu trữ tiêu chuẩn.
jgomo3

Câu hỏi cũ nhưng vẫn còn khi git-svn được cài đặt trên Ubuntu, tôi nghĩ rằng nó nên được bổ sung mà chúng ta phải sử dụng svn git và không git-svn
nsaura

Tôi cần phần ppa trên Ubuntu 16.
Sridhar Sarnobat 19/12/18

apt-get updatesudocũng cần . Tôi đã cố gắng cập nhật câu trả lời nhưng vì bản chỉnh sửa có ít hơn 6 ký tự nên SO không cho phép tôi làm điều đó
Pau Fracés

6

Theo hệ thống của tôi, tôi đã gặp sự cố này:

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

vì tôi chưa cài đặt liên kết Subversion Perl. Hãy thử cài đặt chúng và chạy lại lệnh.


3
Tôi cũng đã thấy điều này với các ràng buộc Perl được cài đặt ở một vị trí khác với Git mong đợi; đã sửa bằng một liên kết tượng trưng.
Paul

6

Đối với hậu thế: Trên CentOS 7, chỉ cần chạy sudo yum install git-svn.


4

Tôi đã gặp lỗi tương tự trong Cygwin 1.7. Nó đã được giải quyết bằng cách cài đặt gói git-svn với thiết lập Cygwin.



3

Phiên bản MacPorts:

port install git +svn

(Lưu ý: port deactivate gittrước tiên bạn có thể cần phải )


2

Gặp sự cố tương tự trên RHEL6, tức là

Không thể định vị Git / SVN.pm trong @INC (@INC chứa: / usr / local / share / perl5 / usr / local / lib64 / perl5 / usr / lib64 / perl5 / vendor_perl / usr / share / perl5 / vendor_perl / usr / lib64 / perl5 / usr / share / perl5.) tại / usr / local / libexec / git-core / git-svn dòng 25.

Giải pháp của tôi:

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

Đây chính xác là vấn đề của tôi. Thư mục /usr/local/share/perl5và nội dung cần những quyền đó. Cảm ơn bạn!
Andrew Kirna

2

Nó không được cài đặt trên bản cài đặt Ubuntu mới trên WSL của tôi -

sudo apt install git-svn

đã sắp xếp nó:

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

1

Nếu git-svn không phải là một phần của mSysGit, tôi khuyên bạn nên sử dụng một máy chủ UNIX nhỏ để lưu trữ kho lưu trữ cổng vào của bạn để sao chép kho lưu trữ svn của bạn, rồi sao chép kho lưu trữ đó vào máy Windows của bạn. Đây là cách tôi đang sử dụng để tương tác với CVS từ git.



0

Trên Fedora, tôi phải cài đặt nó với

sudo dnf install -y git-svn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.