Chapitre 5. Utilisation avancée

Mettre à jour vers une marque, une branche ou une date

Les branches d'un module sont des versions parallèles de ce module. Un bon exemple réel de l'utilisation de cette fonctionnalité est la version d'un projet de logiciel. Après une version majeure, il y a des bogues dans le code qui doivent être corrigés, mais des utilisateurs veulent ajouter de nouvelles fonctionnalités à l'application également. Il est très difficile de faire les deux en même temps parce que de nouvelles fonctionnalités introduisent souvent de nouveaux bogues, compliquant le suivi des anciens bogues. Pour résoudre ce dilemme, CVS vous permet la création d'une version parallèle que nous appellerons la « branche stable », dans laquelle vous ne pouvez qu'insérer des corrections de bogues, en laissant la branche principale (« HEAD ») ouverte pour l'ajout de nouvelles fonctionnalités.

Les marques servent à marquer une version d'un projet. CVS estampille une seule version de chaque fichier avec la marque, de sorte que quand vous extrayez ou mettez à jour vers une marque donnée, vous obtenez toujours les mêmes versions des fichiers. En conséquence, par opposition aux branches, les marques ne sont pas dynamiques : vous ne pouvez pas développer une marque. Les marques sont utiles pour marquer des versions, de gros changements dans le code, etc. Grâce aux marques, vous pouvez facilement faire revenir le projet à un état antérieur, reproduire et suivre des bogues, générer à nouveau le code de la version, etc.

Lorsque vous développez ou que vous suivez le développement d'un projet de logiciel, vous ne travaillez pas nécessairement avec la branche principale en permanence. Après une version, vous pouvez être amené à conserver la branche diffusée pendant un certain temps, pour profiter de sa relative stabilité, corriger des bogues, traduire les sources, etc. Pour faire tout cela, vous devez mettre à jour la branche diffusée. Tous vos fichiers seront mis à jour vers la plus récente version des fichiers dans cette branche. Après la mise à jour, toutes vos nouvelles validations seront déposées sur le serveur vers la nouvelle branche également.

De plus, si vous voulez suivre un bogue qui a été reporté par rapport à une version marquée antérieurement, CVS vous offre la possibilité de vous procurer le logiciel tel qu'il a été diffusé, en mettant à jour vers cette marque. Par ailleurs, si vous voulez vous procurer une version antérieure de votre projet, vous pouvez mettre à jour votre copie de travail vers une date donnée. Ceci peut être utile si une erreur a été introduite dans le projet entre deux versions et que vous avez une idée du moment où elle s'est produite. Quand vous mettez à jour vers une date ou une marque, les versions de vos fichiers seront les mêmes que les versions à cette date ou que les versions estampillées par cette marque.

Avertissement

Avant de mettre à jour vers une branche ou une marque différentes, assurez-vous que vous avez validé tous vos changements vers la branche avec laquelle vous travaillez. Si vous n'êtes pas prêt à valider vos changements, mais que vous ne voulez pas les éliminer, ne mettez pas à jour vers la nouvelle branche, car vous risquez de perdre vos changements. De manière alternative, vous pouvez faire une nouvelle extraction, pour travailler en parallèle avec les deux versions.

Figure 5.1. Une copie d'écran de la boîte de dialogue « Mettre à jour vers une marque » de Cervisia

Une copie d'écran de la boîte de dialogue « Mettre à jour vers une marque » de Cervisia

Mettre à jour vers la branche

Sélectionnez cette option pour mettre à jour vers une branche. Saisissez le nom de la branche dans la zone de liste déroulante (ou cliquez sur le bouton Charger la liste pour recevoir la liste des branches depuis le serveur CVS et choisissez celle que vous voulez dans la liste déroulante).

Mettre à jour vers la marque

Sélectionnez cette option pour mettre à jour vers une étiquette. Saisissez le nom de l'étiquette dans la zone de liste déroulante (ou cliquez sur le bouton Charger la liste pour recevoir la liste des étiquettes depuis le serveur CVS et choisissez celle que vous voulez dans la liste déroulante).

Mettre à jour à la date

Cochez cette option pour mettre à jour à une date donnée. Dans le champ ci-dessous, vous pouvez saisir une grande variété de formats de dates. Un format possible est aaaa-mm-jjaaaa correspond à l'année, mm au mois (numériquement) et jj au jour. D'autres solutions comportent des phrases en français comme hier ou il y a 2 semaines.

Note

Mettre à jour vers une marque ou à une date rend ces dernières « rémanentes », c'est-à-dire que vous ne pouvez pas valider d'autres modifications sur ces fichiers (à moins que la marque ne soit une marque de branche). Pour revenir à la branche principale, utilisez l'élément de menu AvancéMettre à jour vers « HEAD » .

La commande émise pour mettre à jour vers une branche ou une marque est la suivante :

cvs update -r marque

La commande émise pour mettre à jour à une date est la suivante :

cvs update -D date

La commande émise pour mettre à jour vers la branche principale (HEAD) est la suivante :

cvs update -A