Les bizarreries du Copybara

L'objectif de ce document est de décrire les anomalies que vous pourriez rencontrer lorsque vous apportez des contributions en raison de l'outil qui gère la copie de sources depuis et vers le dépôt interne de Google. Cet outil s'appelle Copybara.

Source de référence interne

Étant donné que la source de référence du code de ce dépôt est le dépôt interne de Google, Copybara effectue des transformations sur le code chaque fois qu'il est importé et exporté. Cela signifie que parfois, des modifications qui semblent normales peuvent se rompre en interne de manière surprenante.

État de la fusion des relations publiques et incohérences entre les différences

Étant donné que la source de référence est interne, les PR ne sont pas fusionnées directement. Ils sont importés dans le dépôt interne de Google où ils font l'objet de tests supplémentaires. Cette modification interne est ensuite envoyée et attribuée à l'auteur du communiqué de presse. En raison des transformations appliquées par Copybara, rien ne garantit que les différences seront identiques (par exemple, Copybara applique la mise en forme à l'importation).

Pour cette raison, Copybara ne marquera pas la demande de fusion comme "fusionnée". Elle la fermera et appliquera séparément un commit qui devrait être très proche de celui-ci.

Dépendance à TSL par copie

Tel qu'il est actuellement implémenté, pour éviter tout commit temporaire non fonctionnel, XLA dépend de TSL non pas en téléchargeant une copie à l'aide du http_archive de Bazel, mais en demandant à Copybara de copier le TSL dans le répertoire third_party de XLA.