Le peculiarità di Copybara

Lo scopo di questo documento è descrivere le stranezze che potresti notare durante il tuo contributo grazie allo strumento che gestisce la copia dei file di origine dal repository interno di Google. Questo strumento si chiama Copybara.

Fonte di verità interna

Poiché la fonte attendibile per il codice in questo repository è il repository interno di Google, Copybara esegue trasformazioni nel codice ogni volta che il codice viene importato ed esportato. Ciò significa che a volte cambiamenti apparentemente normali possono interrompersi internamente in modi sorprendenti.

Incoerenze e stato dell'unione PR

Poiché la fonte di riferimento è interna, le PR non vengono unite direttamente, ma vengono importate nel repository interno di Google, dove vengono sottoposte a ulteriori test, dopodiché la modifica interna viene inviata e attribuita all'autore del PR. A causa delle trasformazioni applicate da Copybara, non vi è alcuna garanzia che la differenza sia identica (ad esempio, Copybara applica la formattazione all'importazione).

Per questo motivo, Copybara non contrassegnerà il PR come unito, ma chiuderà il PR e applicarà separatamente un impegno che deve essere strettamente attinente al PR.

Dipendenza su TSL per testo

Come implementato attualmente, per evitare commit temporanei non funzionanti, XLA dipende da TSL non scaricando una copia utilizzando http_archive di Bazel, ma facendo in modo che Copybara copi TSL nella directory third_party di XLA.