Copybara の特徴

このドキュメントの目的は、Google の内部リポジトリとの間でソースを相互にコピーすることを管理するツールが原因で、投稿中に発生する可能性のある異常について説明することです。このツールは Copybara と呼ばれます。

信頼できる内部の情報源

このリポジトリ内のコードの信頼できる情報源は Google の内部リポジトリであるため、コードのインポートとエクスポートは毎回、Copybara はコードを変換します。つまり、正常のように見える変更が、予想外の方法で内部的に破損する場合があります。

PR マージ ステータスと差分の不整合

信頼できる情報源は内部であるため、PR は直接マージされないため、Google 内部リポジトリにインポートされ、そこで追加のテストが行われます。その後、内部の変更が送信され、PR 作成者に帰属します。Copybara では変換が適用されるため、差分が同じになる保証はありません(たとえば、Copybara ではインポート時に書式が適用されます)。

このため、Copybara は PR を「統合済み」とマークせず、PR をクローズし、PR に密接に対応する commit を個別に適用します。

コピーによる TSL への依存関係

現在実装されているように、一時的な commit の破損を防ぐため、XLA は Bazel の http_archive を使用してコピーをダウンロードするのではなく、TSL を XLA の third_party ディレクトリにコピーすることで、TSL に依存します。