コピーバラの特徴

このドキュメントの目的は、Google の内部リポジトリとの間のソースのコピーを管理するツールによって、コントリビューション中に遭遇する可能性がある異常について説明することです。Copybara と呼ばれるツールです。

信頼できる内部の情報源

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

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

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

このため、Copybara は、PR をマージ済みとしてマークせず、PR を閉じ、PR に非常に緊密にマッピングされる commit を個別に適用します。

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

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