FAQ SCMConsultez toutes les FAQ
Nombre d'auteurs : 5, nombre de questions : 107, dernière mise à jour : 31 août 2007 Ajouter une question
Cette faq a été réalisée à partir des questions fréquemment posées sur les forums de et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, merci de contacter la community manager Lana Bauer, ou de poster votre participation ici.
Sur ce, nous vous souhaitons une bonne lecture.
- Comment se connecter au serveur CVS ?
- Comment se déconnecter du serveur CVS ?
- Comment lister les modules d'un repository ?
- Comment faire un checkout ?
- Comment faire un commit sur un fichier ?
- Comment faire un diff entre deux révisions d'un fichier ?
- Comment ajouter un fichier dans le repository ?
- Comment avoir un historique des opérations de commit ?
- Comment avoir un rapport du statut d'un répertoire de travail ?
- Quelques conseils pour l'utilisation de CVS ?
- Comment ignorer certains fichiers lors d'un commit sur un répertoire ?
Il faut premièrement créer une variable d'environnement %cvsroot% :
Code : | Sélectionner tout |
1 2 | set cvsroot=:pserver:votre_login@SERVEUR:/VOTRE_REPOSITORY |
Code : | Sélectionner tout |
1 2 3 4 5 6 | export cvsroot=:pserver:votre_login@SERVEUR:/VOTRE_REPOSITORY ou setenv cvsroot=:pserver:votre_login@SERVEUR:/VOTRE_REPOSITORY |
Code : | Sélectionner tout |
1 2 | cvs login |
Il existe d'autres protocoles de connexion comme :
- gserver
- ssh
- sspi
Voir aussi : La connexion
La commande de déconnexion est la suivante :
Code : | Sélectionner tout |
1 2 | cvs logout |
La commande permettant de lister les modules est la suivante :
Code : | Sélectionner tout |
1 2 | cvs ls |
La commande checkout permet d'obtenir une copie locale de la version la plus récente des fichiers du module dans votre répertoire courant.
Dans une console de commandes, taper la commande suivante :
Code : | Sélectionner tout |
1 2 | cvs checkout <module> |
Pour envoyer vers le repository un fichier modifié en local, ouvrir une console de commandes et taper :
Code : | Sélectionner tout |
1 2 | cvs commit <fichier> |
Accéder au répertoire de votre projet.
Dans une console de commandes, taper la commande suivante :
Code : | Sélectionner tout |
1 2 | cvs diff -r 1.1 -r 1.3 <fichier> |
Dans une console de commandes, taper les commandes suivantes :
Code : | Sélectionner tout |
1 2 3 | cvs add -m "mes commentaires" <fichier> cvs commit <fichier> |
Si l'étape d'ajout n'est pas faite, pas de commit possible (note : en général les plugins font ces 2 étapes de manière transparente, mais il faut garder à l'esprit le fonctionnement réel).
Dans une console de commandes, taper :
Code : | Sélectionner tout |
1 2 | cvs history -c |
Dans une console de commandes, taper :
Code : | Sélectionner tout |
1 2 | cvs status |
Quelques conseils :
Ne pas utiliser d'espaces ou d'accents dans les noms de fichiers et de répertoires. En effet, le couple Windows / Linux comme système de fichiers fait parfois des ravages dans CVS.
Interdiction absolue de renommer un répertoire en changeant sa casse (minuscule/majuscule). Pour Windows, c'est le même dossier, pour Linux, pas vraiment.
Règle d'or de CVS : Toujours faire un update avant de modifier un fichier marqué comme binaire (donc non fusionnable normalement). Cela permet d'éviter des conflits difficiles à résoudre (comment fusionner une image ou un fichier excel ???)
Utiliser le mécanisme de edit/unedit pour signaler à d'autres personnes la modification en cours d'un fichier binaire. Même explication que le conseil précédent.
Si possible, demander à mettre les fichiers en lecture seule après un checkout ou update, cela permet de ne pas modifier par erreur un fichier, avec un rechercher/remplacer un peu trop rapide. Et donc, utiliser le mécanisme edit/unedit pour enlever l'attribut "lecture seule".
Pour fusionner deux branches dans le tronc commun (HEAD), préferer deux merges à la suite plutôt qu'un merge simultané...il est parfois difficile de résoudre des conflits à "trois voies".
Tenir un fichier (texte) à jour recensant les modifications apportées lors de chaque commit (en plus de la description du commit). Rappelez-vous que CVS ne gère que des fichiers...il n'a pas de vue globale du projet (pas de TAG projet complet! pour cela, utilisez Subversion).
Il existe un fichier de configuration nommé .cvsIgnore qui contient les noms des fichiers à ne pas remonter sur le serveur lors d'un commit. Il est présent sur le serveur (fichiers d'administration) et sur les postes de travail (dans chaque répertoire de travail de CVS). Il est possible de combiner différents niveaux d'exclusion, consultez la section lien pour plus de détails.
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.