Eccezionalità dei copybara

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

Fonte interna di dati

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.

Incongruenze 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. Successivamente, la modifica interna viene inviata e attribuita all'autore. 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 applicherà separatamente un commit che deve essere strettamente collegato al PR.

Dipendenza da TSL in base al testo

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