unixmaniax.frLE CARNET DES SYSTÈMES UNIX

Développement / Développement

Subversion : travailler proprement et sauvegarder le dépôt

Checkout, modifications et administration SVN : une réécriture du mémo historique, du poste développeur à la vérification du dépôt sauvegardé.

Distinguer dépôt central et copie de travail

La copie de travail contient des fichiers et des métadonnées locales ; elle ne remplace pas le dépôt avec tout son historique. Faites un checkout depuis l’URL validée et vérifiez la révision. Avant un commit, inspectez statut et diff, puis choisissez précisément les modifications à publier.

Les fichiers ignorés, non suivis et les secrets ne doivent pas être ajoutés par inadvertance. Versionnez les modèles de configuration, avec les valeurs sensibles gérées séparément.

svn info
svn status
svn diff

Résoudre un conflit en comprenant les deux changements

Mettez à jour la copie de travail selon le fonctionnement de l’équipe et examinez chaque conflit. Les déplacements et suppressions peuvent produire des conflits d’arborescence, pas seulement des lignes marquées dans un fichier. Conservez une copie de votre travail avant une opération de nettoyage.

Une résolution doit être suivie d’un test du projet. Le fait de retirer les marqueurs ne prouve pas que le résultat combine correctement les intentions des deux modifications.

Vérifier le dépôt et ses éléments annexes

Choisissez une méthode cohérente de sauvegarde du dépôt, telle qu’un dump logique ou une copie à chaud prévue par Subversion. Sauvegardez aussi les hooks, configurations d’accès et autres éléments de service qui peuvent ne pas être inclus dans un export logique.

Restaurez dans un dépôt distinct, vérifiez l’historique et testez un checkout. Les hooks restaurés ne doivent pas déclencher des actions de production pendant l’essai. Mesurez le temps de reprise et prévoyez le stockage hors du serveur hébergeant le dépôt.

svnadmin verify /chemin/du/depot

Sources & documentation

Consultez la documentation correspondant à vos versions avant d’appliquer les exemples. Les commandes illustrent la méthode ; elles ne remplacent pas un essai dans votre environnement.