Macken in Copybara

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.