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

Пытаясь получить старый svn-дамп проекта под контролем git, я столкнулся с интересной проблемой. Всякий раз, когда я бегу git svn, Я получаю сообщение об ошибке, говорящее, что это не команда git, но есть документация, которую я могу использовать git help, Что-то не так с моей установкой, или я просто что-то здесь упускаю?

Изменить: я, вероятно, также должен упомянуть, что я использую msysGit версии 1.6.1.9.g97c34 под Windows XP, и я получаю следующую ошибку:

 $ git svn 
Git: "SVN" не является
ГИТ-команды. Смотрите "git --help".

Вы имели в виду один из них?
        Fsck
        шоу 

12 ответов

Решение

Я не уверен, что git svn когда-либо работал с недавним дистрибутивом Git Windows (пост 1.5.6).

О многих проблемах уже сообщалось ранее, поэтому git svn может сильно не включаться в текущие выпуски msysGit.

Другая текущая активная разработка "Git on Windows" mingw.git заявляет в своем README, что svn не работает.

Эта ветка Msysgit действительно предполагает, что git svn может быть реинтегрирован в некоторые моменты, но прогресс все еще медленный.


Обновление: от MSysGit1.6.2 (начало марта 2009 г.), git-svnснова работает Смотри этот ТАК вопрос.


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

Я просто проверяю свой недавно установленный пакет Ubuntu, и он не был установлен даже с установленным git-core. Просто:

sudo apt-get install git-svn

или ваш дистрибутив должен это исправить.

На Ubuntu:

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

Он не был установлен в моей новой установке Ubuntu на WSL -

sudo apt install git-svn

отсортировал это:

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

В моей системе у меня были следующие проблемы:

$ 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. Попробуйте установить их и снова запустить команду.

Для потомков: на CentOS 7 просто запустите sudo yum install git-svn,

Версия MacPorts:

port install git +svn

(Примечание: вам, вероятно, нужно port deactivate git первый)

У меня была та же ошибка под Cygwin 1.7. Это было решено установкой пакета git-svn с установкой Cygwin.

На CentOS я использовал

sudo yum install git-svn

В Gentoo вы должны собрать git с помощью USE="subversion"

Была похожая проблема на 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)

Если git-svn не является частью mSysGit, я рекомендую использовать небольшой сервер UNIX для размещения вашего шлюзового репозитория, который клонирует ваш svn-репозиторий, а затем клонирует этот репозиторий на ваш компьютер с Windows. Это подход, который я использую для взаимодействия с CVS из git.

На Fedora мне пришлось установить его с

sudo dnf install -y git-svn
Другие вопросы по тегам