-
Les forfaits Business et Enterprise
Contactez le service commercial pour toute question relative aux licences.
Le branchement est utilisé dans le contrôle de version de logiciels. Des copies de fichiers de projet appelées branches permettent aux équipes de travailler sur des versions parallèles du projet en même temps tout en conservant une copie non modifiée. Cela élimine le risque d'écraser accidentellement les modifications apportées par d'autres aux fichiers du projet.
Le projet principal est copié lorsqu'une nouvelle branche est créée, les modifications étant apportées uniquement à cette branche. Lorsque les modifications sont Terminer, la branche est fusionnée dans le projet principal. Plusieurs branches peuvent être travaillées en même temps et, après la fusion, les branches sont automatiquement supprimées. Les branches fusionnées restent disponibles dans l'onglet pour un suivi simplifié de l'historique. Les balises d'une branche existante sont copiées vers la nouvelle branche.
Limitations
-
Tous les rôles à l'exception du traducteur et de l'invité peuvent accéder à la vue .
-
Les fusions ne peuvent pas être annulées et les branches ne peuvent pas être restaurées.
-
Les travaux créés dans une branche spécifique ne sont pas visibles dans le projet principal et vice versa. Lorsqu'une branche est fusionnée dans le projet principal, tous les travaux ouverts qu'elle contient sont perdus.
-
Les rapports dans la vue reflètent uniquement le statut de la branche active. La fusion d'une branche dans le projet principal met à jour les rapports du projet principal.
-
La vue contient uniquement les activités de la branche active. Les activités dans les branches ne sont pas visibles dans le projet principal et vice versa. Les activités dans une branche sont perdues lors de sa fusion dans le projet principal.
-
La synchronisation GitHub ne peut être utilisée que sur le projet principal et non sur les branches.
-
Les commentaires faits dans une branche ne sont pas visibles dans le projet principal et vice versa.
-
créées dans une branche ne sont pas visibles dans le projet principal et vice versa. Lorsqu'une branche est fusionnée dans le projet principal, toutes les commandes ouvertes qu'elle contient sont perdues.
-
Les traducteurs ne peuvent pas être restreints à des branches spécifiques, mais ils reçoivent l'autorisation de travailler sur des paramètres régionaux spécifiques. Les traducteurs doivent être formés sur la façon de travailler avec les branches.
Le branchement est activé dans l'onglet des avec l'option de protéger la branche principale contre les modifications.
Une fois activé, un menu de branche est présenté sur l'écran du projet où les branches de travail peuvent être sélectionnées. Pour spécifier une branche dans CLI, utilisez le paramètre
--branch :
--branch <branch_name>
Les branches sont listées dans l'onglet d'un projet, où les informations de création et de fusion sont présentées. Les branches peuvent également être supprimées ou fusionnées et des tâches créées pour cette branche depuis l'onglet .
Pour lister toutes les branches d'un projet via API ou CLI, exécutez :
$ phrase branches list --project_id <Identifiant_du_projet> # par ex. $ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <Identifiant_du_projet>
Pour supprimer une branche via API ou CLI, exécutez :
$ phrase branches delete --project_id <Identifiant_du_projet> --name <nom_de_la_branche> # par ex. $ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branche supprimer <Identifiant_du_projet> <nom_de_la_branche>
Protéger la branche principale
restreint les modifications sur le projet principal, exigeant que tous les changements soient effectués dans une branche à la place.
Lorsque cette option est activée :
-
Les paramètres régionaux, les clés et les traductions ne peuvent pas être ajoutés, modifiés ou supprimés directement dans le projet principal.
-
Les téléchargements de fichiers et la gestion des captures d'écran sont désactivés sur le projet principal.
-
Une branche doit être sélectionnée avant d'importer des fichiers.
-
Les automatisations ne s'exécutent pas sur le projet principal.
Les rôles administrateur, chef de projet, concepteur et développeur peuvent créer de nouvelles branches dans l'onglet , via API ou dans la CLI. Les branches peuvent être créées à partir de n'importe quelle autre branche, pas seulement la branche principale. Jusqu'à 5 niveaux de branche sont pris en charge.
Pour créer une branche depuis l'interface utilisateur, suivez ces étapes :
-
Depuis une page , sélectionnez l'onglet .
-
Cliquez sur Créer une branche.
La fenêtre s'ouvre.
-
Indiquez un nom pour la branche.
-
Sélectionnez une dans la liste des branches existantes.
-
Cliquez sur Créer.
La nouvelle branche est ajoutée à la liste.
Pour créer une branche via API ou CLI, exécutez :
$ Phrase branches create --project_id <Identifiant_projet> --data <données>
Pour créer une branche lors de l'envoi de traductions, exécutez :
$ phrase push --branch <branch_name>
La synchronisation garantit que la branche de travail reste alignée avec les dernières modifications de la branche dont elle est issue. De cette façon, les traducteurs peuvent travailler avec une version mise à jour du contenu, même dans les projets à long terme.
Pour synchroniser une branche avec sa branche de base, suivez ces étapes :
-
Dans l'onglet , cliquez sur Sync with base branch à côté de la branche souhaitée.
La page s'affiche avec des informations sur les éventuels conflits et modifications à synchroniser avec la branche de base.
-
Cliquez sur l'une des modifications détectées pour l'examiner avant la synchronisation.
Un tableau avec des détails sur la modification sélectionnée s'affiche.
-
Sélectionner Sync et confirmer pour appliquer les modifications.
Les modifications sont ajoutées à la branche de base et deviennent visibles dans l'éditeur de traduction. Les informations sur la dernière synchronisation sont affichées dans la colonne de l'onglet .
La synchronisation de branche peut également être effectuée via l'API en exécutant cette commande CLI :
$ phrase branches sync \\
--project_id <project_id> \\
--name <branch_name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchrésout les conflits en appliquant les modifications de la branche et est utilisé par défaut si rien n'est spécifié. -
use_mainrésout les conflits en rejetant les modifications de la branche et fait référence à la branche de base. Lorsque vous travaillez avec des branches empilées, la branche de base n'est pas nécessairement la branche principale réelle du projet.
Après avoir terminé le travail de traduction ou de version spécifique dans une branche, toutes les modifications peuvent être fusionnées dans la branche de base. Une fois que toutes les modifications sont fusionnées dans la chaîne, la branche de niveau supérieur peut être fusionnée dans la branche principale.
Après une fusion réussie, la branche fusionnée est automatiquement supprimée et apparaît dans l'onglet pour le suivi de l'historique.
Seules les modifications apportées aux ressources suivantes sont appliquées à la branche de base lors des fusions :
-
Locales
-
Clés
-
Traductions
Les modifications apportées à d'autres ressources, telles que les activités, les tâches et les commandes, ne sont pas appliquées.
Les branches avec des branches enfant actives ne peuvent pas être fusionnées tant que les branches enfant ne sont pas d'abord supprimées ou fusionnées.
Conflits
Un conflit survient lorsqu'une ressource (traduction, clé ou paramètre linguistique) a été modifiée à la fois dans la branche actuelle et dans sa branche de base après la création ou la dernière synchronisation de la branche. Des conflits peuvent survenir à n'importe quel niveau de la pile de branches, et pas seulement lors d'une fusion dans la branche principale.
Pour fusionner une branche, suivez ces étapes :
-
Depuis l'onglet d'un projet, cliquez sur Fusionner avec la branche de base à côté de la branche souhaitée.
La page s'ouvre. Les informations sur les traductions à modifier pendant la fusion sont accessibles en cliquant dans les cellules.
-
En cas de conflits, sélectionnez une stratégie de fusion :
-
Sélectionnez pour rejeter les modifications conflictuelles et conserver les traductions existantes.
-
Sélectionnez pour remplacer les traductions existantes par les modifications provenant de la branche.
-
-
Cliquez sur Fusionner et confirmez pour appliquer les modifications.
La branche est fusionnée avec la branche de base et supprimée automatiquement. Pour consulter l'historique des branches fusionnées, ouvrez l'onglet sur la page .
Pour fusionner une branche via API ou CPI, exécutez :
$ phrase branches merge \\
--project_id <project_id> \\
--name <name> \\
--data '{"strategy":"use_main"}' \
--access_token <token>
-
use_branchrésout les conflits en appliquant les modifications de la branche et est utilisé par défaut si rien n'est spécifié. -
use_mainrésout les conflits en rejetant les modifications de la branche.use_masterest également pris en charge.
L'action fusionner supprime également automatiquement la branche fusionnée.
Lors de l'utilisation de l'interface de ligne de commande, spécifiez une branche pour envoyer ou extraire avec le paramètre --branch.
$ phrase push --branch <branch_name> $ phrase pull --branch <branch_name>
Si la branche spécifiée n'existe pas dans un projet, le client la crée.
Utilisez --use-local-branch-name pour envoyer et extraire en utilisant le nom de branche d'une branche git active :
$ phrase push --use-local-branch-name $ phrase pull --use-local-branch-name
Tous les points de terminaison de l'API qui acceptent un argument de projet prennent également en charge le paramètre --branch pour effectuer une action sur une branche spécifique d'un projet :
$ phrase upload create <project_id> \\
--branch <branch_name>
--file /path/to/my/file.json \\
--file-format json \\
--locale-id abcd1234cdef1234abcd1234cdef1234 \\
--tags awesome-feature,needs-proofreading \\
--locale-mapping "{"en": "2"}" \
--format-options "{"foo": "bar"}"