In diesem Dokument werden Unstimmigkeiten beschrieben, die beim Beitragen auftreten können. Das Tool verwaltet das Hin- und Herkopieren der Quelle aus dem internen Repository von Google. Dieses Tool heißt Copybara.
Interne Informationsquelle
Da die „Source of Truth“ für den Code in diesem Repository das interne Repository von Google ist, wandelt Copybara immer am Code um, wenn dieser importiert und exportiert wird. Dies bedeutet, dass scheinbar normale Änderungen intern auf überraschende Weise gebrochen werden können.
Inkonsistenzen beim PR-Zusammenführungsstatus und Unterschieden
Da die zentrale Informationsquelle eine interne Quelle ist, werden PRs nicht direkt zusammengeführt, sondern in das interne Google-Repository importiert, wo sie zusätzlichen Tests unterzogen werden. Anschließend wird diese interne Änderung eingereicht und dem PR-Autor zugeordnet. Aufgrund der von Copybara angewendeten Transformationen kann nicht garantiert werden, dass der Unterschied identisch ist (beispielsweise wendet Copybara die Formatierung beim Import an).
Aus diesem Grund markiert Copybara die PR nicht als zusammengeführt, sondern schließt die PR und wendet separat einen Commit an, der sehr eng mit der PR übereinstimmen sollte.
TSL-Abhängigkeit nach Kopie
Wie derzeit implementiert, um temporäre fehlerhafte Commits zu verhindern, hängt XLA von TSL ab, nicht durch das Herunterladen einer Kopie mit dem http_archive
von Bazel, sondern durch das Kopieren der TSL-Datei von Copybara in das Verzeichnis third_party
von XLA.