このドキュメントの目的は、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 に依存します。