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>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:11