git-svnインストールからgit svn dcommit完了までの手順

Tags: [ Git ] [ Subversion ] Published: 2012/12/12

あらすじ

CentOSのインストール時に入れたGitにはgit-svnが入っていない(?)ので、一から入れようとしたが、ネットに繋がっていない環境だと結構依存とかがめんどくさかったのでメモ。

環境

  • CentOS 6.2
  • Git 1.7.1
    • git は入っているが、git svnは実行できない
    
      $ 
      git
       svn 

      git: 'svn' is not a git command. See 'git --help'.
    
  
  • svn 1.6.11 (r934486)
  • ネットにつながっていないぼっち環境

yumとかで入れられると一発っぽいんだけどなー。

手順

まずは、git-svnのrpmをDLしてくる。

インストールしたいPCに持ってきて、rpmコマンド。 perl(SVN::Core) と、 perl(Term:ReadKey) がないと言われる。

    # rpm -ivh git-svn-1.7.1-2.el6_0.1.noarch.rpm
警告: git-svn-1.7.1-2.el6_0.1.noarch.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
エラー: 依存性の欠如:
        perl(SVN::Core) は git-svn-1.7.1-2.el6_0.1.noarch に必要とされています
        perl(Term::ReadKey) は git-svn-1.7.1-2.el6_0.1.noarch に必要とされています
  

perl(SVN::Core)

SVN::Coreは subversion-perl というパッケージから入れられるよう。

subversion-perlをDLしてインストール。

    # rpm -ivh subversion-perl-1.6.11-7.el6.i686.rpm
警告: subversion-perl-1.6.11-7.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
エラー: 依存性の欠如:
        subversion = 1.6.11-7.el6 は subversion-perl-1.6.11-7.el6.i686 に必要と されています
  

あれ?Subversion入ってるのに見つけられてない?Subversionを入れ直してみる?

    # rpm -ivh subversion-1.6.11-7.el6.i686.rpm
警告: subversion-1.6.11-7.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
準備中...                ########################################### [100%]
        ファイル /usr/bin/svnserve (パッケージ subversion-1.6.11-7.el6.i686 から) は、パッケージ subversion-1.6.11-2.el6_1.4.i686 からのファイルと競合しています。

  

やっぱインストール済み…1.6.11-2.el6_1_4…だと…。このrelease番号?ってsvn –versionじゃ確認できないの?

    # svn --version
svn, バージョン 1.6.11 (r934486)
   コンパイル日時: Sep 27 2011, 14:59:40

   Copyright (C) 2000-2009 CollabNet.
   Subversion is open source software, see http://subversion.tigris.org/
   This product includes software developed by CollabNet (http://www.Collab.Net/).

   以下のリポジトリアクセス (RA) モジュールが利用できます:

   * ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。
     - 'http' スキームを操作します
       - 'https' スキームを操作します
       * ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール 。
         - Cyrus SASL 認証を併用
   - 'svn' スキームを操作します
   * ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。
     - 'file' スキームを操作します
  

色々探して、とりあえず1.6.11-2.el6_1_4のsubversion-perlを見つけた。

再チャレンジ。

    # rpm -ivh subversion-perl-1.6.11-2.el6_1.4.i686.rpm
警告: subversion-perl-1.6.11-2.el6_1.4.i686.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
準備中...                ########################################### [100%]
   1:subversion-perl        ########################################### [100%]
  

入ったー。で、依存は一個消えた。

    # rpm -ivh git-svn-1.7.1-2.el6_0.1.noarch.rpm
警告: git-svn-1.7.1-2.el6_0.1.noarch.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
エラー: 依存性の欠如:
        perl(Term::ReadKey) は git-svn-1.7.1-2.el6_0.1.noarch に必要とされています
  

perl(Term::ReadKey)

特にバージョンの指定がないんだけど、とりあえず後ろ(el6)は合わせてみた。elってRHELのELなのかな…?

    [root@tpc6102 share]# rpm -ivh perl-TermReadKey-2.30-13.el6.i686.rpm
警告: perl-TermReadKey-2.30-13.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
準備中...                ########################################### [100%]
   1:perl-TermReadKey       ########################################### [100%]
  

いった!

で、git-svnも入った!

動作確認

コミットしようとしたらエラーが。

    $ git svn dcommit
Committing to svn://xxxxxxx/repo/trunk ...
Authentication realm: <svn://xxxxxxx:3690> xxxxxxxx-...

(gnome-ssh-askpass:20438): Gtk-WARNING **: cannot open display:
Use of uninitialized value $password in substitution (s///) at /usr/libexec/git-core/git-svn line 3979.
error: git-svn died of signal 11
  

GUIでLinuxをインストールしている場合、 gnome-ssh-askpass を使ってパスワード認証をかますようにパスが通っており、今はtelnetなどでつないでいる(=認証画面出したいのに画面ない)のが問題みたい。

確かにいる。

    
      $ 
      echo
       $SSH_ASKPASS

      /usr/libexec/openssh/gnome-ssh-askpass
    
  

これを空にしてやればよい。

    
      $ 
      unset
       SSH_ASKPASS

      $ 
      echo
       $SSH_ASKPASS
    
  

で、dcommit!

    $ git svn dcommit
Committing to svn://xxxxxxxx/repo/trunk ...
Authentication realm: <svn://xxxxxxxx:3690> xxxxxxxxxxx.....
Password for 'kk_Ataka':
  

パスワード認証もOK。

    M       memo/test.txt

  

コミットされた!


Author: kk_Ataka / Powered by Jekyll on GitHub Pages