Intégration
Menu: Menu de module / Gestion de configuration / Intégration
Fonctionnement: Fournit une méthode de fusion pour extraire les modifications d'un module vers un autre.
Cela permet une fusion structurée qui est recommandée dans la plupart des cas.
Voir aussi les Concepts de fusion.
Si l'intégration est lancée à partir d'un module qui a déjà une intégration active, l'intégration est reprise.
Sinon, une nouvelle intégration est lancée.
Démarrer une intégration
Une intégration est initiée à partir du module cible, c'est à dire à partir du module qui reçoit les modifications.
En sélectionnant l'intégration, l'utilisateur peut fusionner en utilisant la fenêtre suivante:

Les options sont les suivantes :
- Option Intégration à partir de
Permet la sélection de la branche source.
La branche source définit l'emplacement à partir duquel les modifications sont prises.
Le module parallèle à la branche source sera déterminé automatiquement.
L'outil calcule également la base commune entre le module parallèle et le module courant.

- Option Base commune
Cette valeur est calculée automatiquement et affiche la dernière référence dans l'historique que les modules source et cible partagent.
Voir encore les Concepts de fusion.
- Option Module source
Ce champ montre le module parallèle qui a été déterminé, automatiquement, dans la branche source sélectionnée.
- Option Version source (voir Concepts de fusion)
L'utilisateur peut sélectionner le module source pour l'intégration, c'est-à-dire le module à partir duquel les changements doivent être considérés.
La base source est soit la base commune, soit la version d'intégration choisie (voir options base source).
Ces deux paramètres (module source et base source) permettent de déterminer les modifications qui devront être prises en compte lors de la réalisation de l'intégration.
Notez que lorsqu'une version "courante" est choisie comme module source, alors le module source devra être versionné lors de la finalisation de l'intégration.
Cela n'est pas nécessaire lorsque l'on choisit une version de référence pour le module de source.
- Option Base source (see Concepts de fusion)
La base source peut être la base commune, toutes les modifications depuis la création de branche seront considérées pour l'intégration,
ou une version de référence d'intégration qui a été créée, plus tôt, au moment d'une intégration entre les deux modules.
Notez que l'utilisation normale est d'utiliser la base commune pour la première intégration et la plus récente base d'intégration pour toutes les suivantes.
Cependant, il peut être utile de revenir à une intégration antérieure ou une base commune pour fusionner les modifications qui n'ont pas été fusionnées sur des intégrations passées.
- Bouton Démarrer l'intégration - Lance l'intégration.
Au démarrage de l'intégration, les paramètres d'intégration doivent être spécifiés.
Les paramètres d'intégration
L'utilisateur aura également la possibilité de sélectionner les modifications qui devront être pris en compte pour l'intégration.
Il pourrait, par exemple, ne pas souhaiter intégrer des modifications sur la hiérarchie des objets, sur des liens ou sur certains attributs.
Lancement de l'intégration

Dans le module cible (c'est-à-dire le module à partir duquel l'intégration est commencée) une vue de l'intégration est créée pour présenter les informations sur les
changements.
Les changements peuvent être vus dans leur contexte.
Il est donc conseillé d'avoir une vue du module cible à côté de la fenêtre d'intégration pour effectuer l'opération d'intégration.
L'interface se compose des éléments suivants :
- Boutons de navigation - Les quatre boutons Module source courant, Version de référence source, Module cible courant et
Version de référence cible permettent à l'utilisateur de visualiser les modules source et cible.
Si la fenêtre du module cible correspondant est fermée, elle sera ré-ouverte.
Notez que les fenêtres des modules peuvent être fermées ou réduites pour garder une meilleure vue d'ensemble.
A côté des boutons, le nom complet et la version des modules s'affiche.
- Vue Changements - Cette liste montre toutes les différences qui ont été détectées sur la comparaison avec la base source et le module source.
Seules les modifications dans le module source sont affichées.
Les changements qui ont été appliqués au module cible n'ont d'importance que pour la détection des conflits.
Sont affichés les identificateurs d'objets et une courte annotation pour chaque objet qui indique le type de changements qui a été appliqué à l'objet.
Si plusieurs types de changements ont été appliqués à l'objet, chaque changement sera répertorié dans la liste des changements en dessous de l'objet.
Astuce: en double-cliquant sur un changement, toutes les fenêtres des modules seront ouvertes pour accéder à l'objet correspondant.
De cette façon, un changement peut être rapidement localisé dans le module.
Modifications conflictuelles contre modifications non conflictuelles : Le problème lors de la fusion des hiérarchies, c'est que les changements peuvent
dépendre les uns des autres pour être fusionnés (voir Comprendre la fusion des objets).
L'outil d'intégration tente de remédier à ce problème en évaluant ces conflits de hiérarchie à l'avance et en montrant les objets qui ne peuvent pas encore
être fusionnés dans le noeud Changements conflictuels.
Pour chaque fusion, l'outil réévalue les conflits et les mouvements des changements qui ne sont plus en
conflit (car les changements dépendants ont été fusionnés) dans le noeud Changements non conflictuels.
- Champ Changements dans le module source - Affiche la différence pour la modification / le changement qui a été sélectionné dans la liste
des modifications.
- Champ Information conflictuelle - Répertorie les différences dans le module cible pour le même objet, les conflits et autres
informations de conflit.
- Bouton Fusionner les changements - Fusionne le changement qui a été sélectionné dans la liste des changements du module cible.
Si un objet est sélectionné, toutes les modifications sur cet objet seront fusionnées dans le module cible.
Après la fusion, le "potentiel conflictuel" est évalué et certains changements conflictuels peuvent cesser de l'être, puisque la
fusion appliquée étaient une condition préalable à la fusion des autres changements.
Lorsque le changement est appliqué, l'objet est
retiré de la liste des changements et l'attribut BranchManager Last Integrated On est défini à la date/heure actuelle (voir Continuer plus tard).
Lorsque vous essayez d'intégrer un changement conflictuel, l'outil nécessite une confirmation avant d'écraser les valeurs dans le module cible.
- Bouton Marquer comme fusionné - Indique que les modifications sur l'objet ne doivent pas être fusionnées.
Cela affecte tous les changements fusionnés de l'objet.
Ce bouton doit être utilisé après que tous les changements pertinents sur l'objet ont été fusionnés.
Après avoir appuyé sur le bouton Marquer comme fusionné, l'objet est retiré de la liste des changements.
L'attribut BranchManager Last Integrated On est défini à la date/heure actuelle (voir Continuer plus tard).
Cela peut aussi être nécessaire après la résolution manuelle d'un conflit.
- Bouton Annuler l'intégration - Annule l'intégration.
Veuillez noter qu'aucun retour en arrière des changements déjà intégrés n'est possible.
Pour s'assurer qu'aucun changement ne soit permanent, n'enregistrez les changements d'un module lors de l'intégration que lorsque l'opération se termine avec succès.
- Bouton Terminer l'intégration - Déclenche la création d'une version d'intégration et finalise l'opération.
- Bouton Continuer plus tard - Ferme la fenêtre d'intégration, enregistre et ferme le module en cours pour poursuivre l'intégration à une date ultérieure.
Tous les changements qui ont déjà été traités n'apparaîtront pas dans la liste des changements.
Ce résultat est obtenu en utilisant la valeur de l'attribut BranchManager Last Integrated On.
Si la dernière fois que l'objet a été intégré est postérieure à la date de dernière modification de l'objet source, l'objet ne sera pas affiché dans la liste des changements.
De cette façon, lors de l'intégration de la version actuelle du module source, un objet qui a déjà été Marqué comme fusionné apparaîtra à nouveau si il est modifié
par la suite.
Note: Ceci ne fonctionne qu'avec les changements qui ont déclenché la date de modification de l'objet source.
Dans les cas où cela pose problème, il est conseillé d'intégrer à partir d'une version de référence du module source au lieu de la version actuelle.
- Bouton Options - Modifie les paramètres pour l'intégration actuelle.
Notez que les modifications ne prennent effet qu'après redémarrage de l'outil ou en appuyant sur Tout actualiser.
- Bouton Tout actualiser - Recalcule la comparaison pour l'intégration.
Notez que les performances peuvent se dégrader lorsque vous appuyez souvent sur ce bouton, il est donc conseillé d'utiliser cette commande rarement, ou plutôt,
fermez et ouvrez de nouveau la fenêtre.