質問: CentOS 6のsvnとgitのバージョンを上げた際のgit-svnの問題についてです。 CentOS 6のyumで入るsubversionは1.6系なので、これを下記のサイトの方法で1.8系にアップデート: CentOS 6でsubversionのバージョンを上げる 同じくCentOS 6のyumで入るgitも古いので下記のサイトの方法でアップデート (そのままやるとこけるのでsubversion-perlをwandisco-svnからインストールしてからgitをインストールします): CentOS 6でgitのバージョンを上げる 両方ともwandiscoのRPMを使用する方法です。 上記方法と同様にしてgit-svnもインストール ``` yum install --enablerepo=wandisco-git --disablerepo=base,updates,epel git-svn ``` ところがこの方法で導入したgit-svnによるチェックアウトが失敗してしまいます。 ``` git svn clone https://exapmle.com/repos ./ Initialized empty Git repository in /home/user/test/.git/ 不正な URL が RA 層に渡されました: 'https://exapmle.com/repos' 用の URL スキームを認識できません at /usr/share/perl5/vendor_perl/Git/SVN.pm line 148 ```
回答: CentOS のパッケージに詳しくないので、綺麗な(パッケージのインストールだけで)方法がちょっとわからないのですが、本家SO で似た質問がありました。 まず、`svn --version` と打ち込み、`- handles 'https' scheme` という行が表示されるか確認します。これで、インストールした svn に https 機能があるか確認できます。 インストール方法から類推するに HTTPS 機能はあると思います。 その場合、git-svn が古い svn を使っている可能性があります。 原因として挙げられているのは 1. SVN に Perl のバインディングが入っていない可能性があります。入っていないと、http(s) 機能がないデフォルトバイナリを使ってしまうようです。 2. Perl モジュールの設定でで `PATH/LD_LIBRARY_PATH` か `PERL5LIB` が設定できておらず、git-svn が上と同じようにデフォルトバイナリを使ってしまっている。 この方は 1.7 系ですが、自分でコンパイルする際に neon-devel がないと同じエラーになったようです。ご自身でコンパイルすることにした場合は参考になると思います。 ちょっとはっきりした答えにならず、申し訳ないです。