I\'m getting the following error on attempt to clone svn rep with git svn:
eugene$ git svn clone https://my.site/svn/ here
Initialized empty Git repository i
Apparently you have two different versions of Subversion binaries and one of those versions does not support http(s)://
protocol.
If you run svn --version
the output should include something like this:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
or
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme
The problem is that git-svn
does not use the same binaries. Instead it uses another version of SVN that compiled with no support for http(s):// protocol. There may be different reasons for that:
If svn --version -q
prints 1.7.x
, most probably your Git installation is too old to use this version of SVN. So, you might want to upgrade it as latest versions of git-svn
support SVN 1.7.
If your default SVN installation has no Perl binding installed, SVN::Core uses the binaries with no http(s) support as a fallback. So, you might want to enable Perl bindings for SVN.
Finally, due to some misconfiguration of Perl modules, PATH/LD_LIBRARY_PATH or PERL5LIB (or whatever git-svn
uses to find the libraries — I'm no expert here), git-svn
just uses invalid binaries.
The particular steps on fixing the issue depend on how you manage the packages, e.g. with Homebrew that'd look like this:
$ brew remove svn
$ brew install --with-perl svn
or
$ brew remove git
$ brew install git
Or with MacPorts something like this:
$ port install subversion-perlbindings
or
$ port upgrade git-core +svn
After that try to specify a proper library path. E.g. if which svn
prints /usr/local/bin/svn
, try to use /usr/local/lib
as a library path for Perl modules.
Hope that helps.