git-svn не команда git?


108

Намагаючись отримати старий дамп svn проекту під контролем git, я зіткнувся з цікавою проблемою. Щоразу, коли я запускаю git svn, я отримую помилку, кажучи, що це не команда git, але для цього є документація, яку я можу витягнути за допомогою git help. Чи щось не так з моєю установкою, чи я просто щось тут пропускаю?

Редагувати: Я, мабуть, також повинен зазначити, що у Windows XP запускається msysGit версії 1.6.1.9.g97c34, і я отримую помилку:

$ git svn 
git: 'svn' не є
git-командування. Див. "Git --help".

Ви мали на увазі одну з таких?
        fsck
        шоу

Відповіді:


16

Я не впевнений, що git svn коли-небудь працював з останнім розповсюдженням Git Windows (пост 1.5.6).

Раніше повідомлялося про багато проблем , тому вони, git svnможливо, не включаються до поточних версій msysGit.

Інший поточний активний розробник "Git на Windows" mingw.git у своєму README констатує, що svn не працює.

Цей потік Msysgit дозволяє припустити, що git svn може бути реінтегрована в певні моменти, але прогрес все ще повільний.


Оновлення: з MSysGit1.6.2 (на початку березня 2009 р.), git-svnПрацює знову . Дивіться цей SO питання .


Оновлення: з сучасним (2017) Git для Windows 2.x , git svnвже включено.
Немає потреби sudo apt-get install git-svn, яка була б можлива лише в сеансі оболонки WSL (підсистема Windows для Linux) .


git svn, безумовно, в комплекті з Git зараз у Windows :)
Tod Thomson

1
@TodThomson Я погоджуюсь, і саме це говорить моє оновлення від березня 2009 року.
VonC

2
для користувачів Windows 10sudo apt-get install git-svn
behelit

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

Старе питання, але все ж, коли git-svn встановлений на Ubuntu, я думаю, слід додати, що ми повинні використовувати git svn, а не git-svn
nsaura

Мені потрібна була частина
ppa

apt-get updateпотребує sudoтакож. Я намагався оновити відповідь, але оскільки редагування становить менше 6 символів, так що це не дозволяє мені це робити
Пау Фракеш,

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.

тому що у мене не встановлені прив'язки Perver Subversion. Спробуйте встановити їх і запустити команду ще раз.


3
Я також бачив це з прив'язками Perl, встановленими в іншому місці, ніж очікувалося від Git; виправлено симпосиланнями.
Павло


4

У Cygwin 1.7 була така ж помилка. Це було вирішено шляхом встановлення пакета git-svn з налаштуванням Cygwin.



3

Версія MacPorts:

port install git +svn

(Примітка: вам, ймовірно, потрібно port deactivate gitспочатку)


2

Мав подібну проблему на RHEL6, тобто

Неможливо знайти Git / SVN.pm у @INC (@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

Він не був встановлений на моїй новій установці Ubuntu на WSL -

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. Це підхід, який я використовую для взаємодії з CVS від git.



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.