4. Exemples avancés de gestion des sources

4.1. Comment modifier sans risques le champ tag quand vous mettez à jour src-all

Si vous spécifiez par exemple tag=A dans votre fichier supfile, cvsup créera un fichier “checkouts” appelé checkouts.cvs:A, par exemple avec le champ tag=RELENG_4, un fichier de “checkouts” checkouts.cvs:RELENG_4 est généré. Ce fichier sera utilisé pour récupérer et/ou stocker l'information identifiant vos sources 4-STABLE.

En suivant le catalogue src-all, si vous souhaitez passer de tag=A à tag=B (A inférieur/supérieur à B important peu) et si votre fichier “checkouts” est checkouts.cvs:A, les opérations suivantes devront être effectuées:

  1. # mv checkouts.cvs:A checkouts.cvs:B (ceci fournit à l'étape suivante le fichier “checkouts” approprié)

  2. Ecrivez un fichier supfile dont la ligne désignant le catalogue est:

    src-all tag=B
    
  3. Cvsupez vos sources en utilisant le nouveau supfile.

Cvsup recherchera checkouts.cvs:B -- dans ce cas la cible est B, c'est à dire que cvsup se servira des informations contenues dans ce fichier pour gérer correctement vos sources.

Les avantages:

Par exemple, A=RELENG_4, B=., le point dans B=. signifie -CURRENT. C'est une mise à jour plutôt typique de la branche 4-STABLE vers la branche -CURRENT. Alors qu'il est simple de revenir à une ancienne version de sources (e.g. -CURRENT vers -STABLE), il n'en va pas de même avec le système. Vous êtes FORTEMENT déconseillé de tenter une telle opération, à moins que vous ne sachiez exactement ce que vous faites.

4.2. Mettre à jour en conservant le même champ tag mais pour une date différente

Si vous souhaitez basculer du champ tag=A au champ tag=A avec une date GMT différente (disons date=D) vous exécuterez ce qui suit:

  1. Ecrivez un supfile dont la ligne désignant le catalogue est:

    src-all tag=A date=D
    
  2. Mettez à jour vos sources en utilisant le nouveau supfile.

Que la nouvelle date précède ou non celle de la dernière synchronisation avec le champ tag=A est peu important. Par exemple, afin d'indiquer la date du “27 Août 2000 à 10h00s00 GMT” vous écrirez la ligne:

src-all tag=RELENG_4 date=2000.08.27.10.00.00

Note : Le format de la date est rigide. Vous devez indiquer toutes les composantes de la date: le siècle (“20”, i.e. le vingtième siècle, doit être fourni tandis que “19”, le siècle passé peut être omis), l'année, le mois, le jour, l'heure, les minutes et les secondes — comme montré dans l'exemple ci-dessus. Pour plus d'information, veuillez consulter la page de manuel cvsup(1).

Qu'une date soit spécifiée ou non, le fichier “checkouts” est appelé checkouts.cvs:A (e.g. checkouts.cvs:RELENG_4). Comme conséquence, aucune action particulière n'est nécessaire afin de retourner à l'état précédent: vous devez modifier la date dans le supfile et remettre à jour à nouveau.

4.3. Mise à jour de votre catalogue des logiciels portés pour la première fois

Comme les logiciels portés sont étiquetés “.” (i.e. -CURRENT), vous pouvez correctement les synchroniser en ajoutant le mot-clé date (Cf cvsup(1) pour le format exact), vous devriez spécifier une date aussi proche que possible que celle de “l'expédition” de votre catalogue de logiciel porté. Après que CVSup ait créé le fichier “checkouts” du catalogue des logiciels portés, qui est précisément le but de cette première opération de synchronisation, le champ date doit être retiré, toutes les mises à jour suivantes seront faites en douceur.

Si vous avez voulu chercher la petite bête dans ce texte, vous vous êtes probablement aperçu des problèmes potentiels du processus de mise à jour des sources. Un certain nombre de personnes ont eu réellement des problèmes. Vous avez été avertis. :-)

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.