Branche (gestion de configuration)

Branche (gestion de configuration)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Branche.

En gestion de configuration, une branche est une dérivation dans l'histoire de l'évolution des éléments de configuration. Une branche est une évolution d'un élément ayant pour origine une version précise, produisant une «branche de version». Une branche de version correspond à un axe d'évolution de versions. Elle est rattachée à une branche source et peut découler sur plusieurs sous-branches. La gestion de l'ensemble des branches et des versions d'un produit constitue le versionnage (versioning en anglais) et est l'objet de la gestion de configuration.

Sommaire

Versionnage

Articles détaillés : Versionnage et Version d'un logiciel.

L'évolution des versions se fait de façon linéaire au sein d'une même branche ; c’est-à-dire que les versions se suivent chronologiquement. L'apport des branches offre la possibilité d'avoir des évolutions de versions en parallèle.

Par exemple, le logiciel « Toto » a subi plusieurs évolutions depuis sa première version. À partir de la version 2.1, ses concepteurs décident de publier une version et de continuer à ajouter des fonctionnalités jusqu'à atteindre la version 3.0, qui changera fondamentalement le logiciel. Peu de temps après que cette dernière version est sortie, ils sont amenés à devoir corriger des bugs dans la version 2.1 ; il est alors nécessaire de créer une nouvelle branche.

1.0 -- 1.1 -- 1.2 -- 1.3 -- 1.4 -- 2.0 -- 2.1 -- 2.2 -- 2.3 -- 3.0
                                            \
                                             \ -- 2.1.1 -- 2.1.2 -- 2.1.3

Modèles de branches

Modèle de branche par objectif

Par défaut, l'évolution d'un produit au travers de l'historique de ses versions est un phénomène linéaire :

  • le développeur A apporte ses modifications sur le produit,
  • B ajoute ses fonctionnalités,
  • C corrige le code de A
  • etc.

On parle alors de Mainline.

Cependant, au cours de l'évolution d'un logiciel, il se peut que cette MainLine doive à la fois suivre son cours, mais aussi répondre à une contrainte qui va amener le produit à suivre une évolution parallèle à la MainLine. On a besoin alors de créer une branche.

L'origine de la contrainte peut être

  • externe : un des clients veut une modification qui lui est spécifique
  • ou interne : on a besoin de pouvoir continuer à développer la Mainline tout en permettant la correction de défauts sur une branche en cours de tests.

Ces deux fonctionnements déterminent ce que l'on appelle en anglais

  • le Branch by Product (branche par produit, branche de version)
  • ou le Branch by Purpose (branche par objectif)

Fusion de branches

Cette activité consiste à combiner des modifications ou des suites de modifications (qu'elles viennent de branches différentes ou non) pour créer une nouvelle version.

On peut décliner plusieurs intérêts à la fusion :

  • la synchronisation entre plusieurs développeurs, qui travaillent habituellement séparément, donc sur des branches de version différentes
  • l'annulation d'une ancienne modification (par opposition à la toute dernière), à appliquer sur la version actuelle
  • l'import d'une modification d'une branche vers une autre.

Voir aussi

Articles connexes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Branche (gestion de configuration) de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Branche (Gestion De Configuration) — Pour les articles homonymes, voir Branche. En gestion de configuration, une branche est une dérivation dans l histoire de l évolution des éléments de configuration. Une branche est une évolution d un élément ayant pour origine une version précise …   Wikipédia en Français

  • Gestion De Configuration — La gestion de configuration consiste à gérer la description technique d un système[1] (et de ses divers composants), ainsi qu à gérer l ensemble des modifications apportées au cours de l évolution du système. La gestion de configuration est… …   Wikipédia en Français

  • Gestion de configuration — Exemple de configuration d un système comportant plusieurs sous systèmes et plusieurs composants La gestion de configuration consiste à gérer la description technique d un système[1] (et de ses divers composants), ainsi qu à gérer l ensemble des… …   Wikipédia en Français

  • Gestion des configurations — Gestion de configuration La gestion de configuration consiste à gérer la description technique d un système[1] (et de ses divers composants), ainsi qu à gérer l ensemble des modifications apportées au cours de l évolution du système. La gestion… …   Wikipédia en Français

  • Gestion De Versions — La gestion de versions (en anglais version control ou revision control) est une activité qui consiste à maintenir l ensemble des versions ou révisions d un logiciel ou autre document. Essentiellement utilisée dans le domaine de la création de… …   Wikipédia en Français

  • Gestion de version — Gestion de versions La gestion de versions (en anglais version control ou revision control) est une activité qui consiste à maintenir l ensemble des versions ou révisions d un logiciel ou autre document. Essentiellement utilisée dans le domaine… …   Wikipédia en Français

  • Branche — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Branche », sur le Wiktionnaire (dictionnaire universel) …   Wikipédia en Français

  • Gestion d'exceptions — Système de gestion d exceptions Dans le contexte des langages de programmation fonctionnels et impératifs, un système de gestion d exceptions ou SGE permet de gérer les conditions exceptionnelles pendant l exécution du programme. Lorsqu une… …   Wikipédia en Français

  • Liste de systèmes de gestion de contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article principal : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

  • Liste De Systèmes De Gestion De Contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article détaillé : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”