投稿者:Hideaki Tokida

先日、Google Source Repositories を利用していてハマりどころがあったので共有しておきます。 これはRHEL7に付属している git バージョンが古いために Google Cloud Platform が期待する動作サポートしてないために発生します。

症状

Source Repositories から Clone をしようとすると git のエラーで Clone が出来ない

WARNING:          You are using a Google-hosted repository with a
         git version 1.8.3.1
which is older than 2.0.1. If you upgrade
         to 2.0.1 or later, gcloud can handle authentication to
         this repository. Otherwise, to authenticate, use your Google
         account and the password found by running the following command.
          $ gcloud auth print-access-token
Cloning into '/home/hideaki_tokida_niandc_co_jp/test'...
Username for 'https://source.developers.google.com': 

条件

  • RHEL 7
  • git version 1.8.3.1

原因

  • gitのバージョンが古いために発生しています。
  • Version2.0.1以上を利用することでこの問題は発生しません。
  • RHEL8では標準で 2.1以上が採用されていますのでこの問題は発生していません。

解決方法

  • コミュニティベースのリポジトリでも問題なければ IUS (https://ius.io/) のリポジトリを定義して yum から導入することが出来ます。
  • 本番用途などの場合であれば自分でソースコードからコンパイルする必要がある場合には https://github.com/git/git/releases から取得してコンパイルしてください。他の環境との影響を少なくするためには、ユーザディレクトリの配下に導入し、git 2 の利用ユーザのみがパスを参照するように変更すると良いでしょう。