Gitを利用するとき、GitホスティングサービスのGithubやBitbucketを利用している開発者は多いでしょう。では、GoogleもGitホスティングサービスを展開していることをご存知でしょうか?実は以前より無料でCloud Source Repositoriesを展開していました。Cloud Source Repositoriesを利用すると、例えばリポジトリへのPushがトリガーとなり、Google App EngineやGoogle Cloud Functionsなどへ自動デプロイを行うことができました。今回、このCloud Source Repositoriesのコード検索機能が強化されベータ版として公開されたので、ここで紹介したいと思います。
コード検索機能の重要性
普段、Gitのリポジトリ上にあるソースコードを検索するとき、開発者の方はどのように行っているでしょうか。Gitホスティングサービスであればファイルやソースコードを見ることができるので、ファイルや単純な文字列の検索であれば容易に行うことができました。しかし、デバッグなどでクラスや関数が利用されている箇所を特定しようと思うと、一度ローカルにクローンを作成し、優れたIDEなどを利用する必要があります。ですが、大きなプロジェクトであればクローンするだけでも大変です。そんな問題をCloud Source Repositoriesは解決してくれます。それほどCloud Source Repositoriesのコード検索機能は優れているのです。
Cloud Source Repositories
Cloud Source Repositoriesは、Google Cloud Platformのアカウントを持っていれば誰でも利用することができます。
https://source.cloud.google.com
では、早速コード検索してみましょう。私が利用しているリポジトリにはC++で書かれた「GB2ShapeCache」クラスが存在します。このクラスを検索したい場合は、検索窓に次のように記述します。
class:GB2ShapeCache
すると次のように表示されます。
もちろん選択すると、該当のソースコードを表示してくれます。ソースコード上には「GB2ShapeCache」の文字列が多数ありますが、GB2ShapeCacheクラスのみを結果として表示してくれました。
次は関数を検索しましょう。ソースコード中に「init」関数が含まれています。この関数を検索したい場合は、検索窓に次のように記述します。
function:init
すると次のように表示されます。
C++ですのでヘッダ部の宣言と実装部の関数の2つが表示されました。
他にも複数のリポジトリで複数のプログラミング言語を利用している場合、言語別に検索することもできます。検索条件は、ANDやORを利用し複雑な検索を行うことも可能です。
まとめ
実は私はこれまでCloud Source Repositoriesをあまり利用していませんでした。
以前に紹介したGitLabやGithub, Bitbucketの方が機能が豊富だったからです。しかし、今回このコード検索機能は刷新されたことにより、利用してみようと思っています。開発者の皆さんもぜひ検討してみて下さい。