JMRI: CVS FAQ
Author: Bob Jacobsen
Keywords: JMRI technical code CVS FAQ

# JMRI:Foire Aux Questions CVS (FAQ)

Ceci est une liste de questions fréquemment posées sur CVS, en particulier sur la façon dont nous l'utilisons avec JMRI. Note: Le code JMRI n'est plus maintenu dans CVS Pour obtenir le code actuel, veuillez consulter les pages Accès au code via le Répertoire Git. Index Technique pour plus d'informations sur la maintenance du code JMRI.

### Comment puis-je obtenir une copie de CVS?

De nombreux ordinateurs sont livrés avec CVS installé, y compris Linux et Mac OS X. Si vous utilisez Windows, vous aurez besoin d'installer un programme CVS "client" comme WinCVS . Une version récente peut être téléchargée à partir de: WinCvs120.zip.

### Comment puis-je obtenir ma propre copie du code JMRI?

Pour obtenir une copie de la source pour votre propre usage, vous pouvez utiliser "checkout anonyme". Pour un client en ligne de commande cvs, créez un nouveau répertoire pour le projet, allez dans ce répertoire, et dites à CVS que vous existez avec

    cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri login

Ce "login " en ligne de connexion n'est nécessaire qu'une seule fois, après quoi, il sera rappelé de votre machine locale. On peut vous demander un mot de passe. Si oui, appuyez simplement sur retour, sinon le mot de passe vide ne sera pas accepté. Vous pouvez alors obtenir une copie du code avec

    cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri co all

Si vous utilisez un client graphique comme WinCVS, déroulez le menu "admin" et sélectionnez "ligne de commande" pour obtenir une place pour taper ces commandes. Sur d'autres ordinateurs, vous pouvez taper directement sur la ligne de commande.

Pour plus d'information voir la page pour obtenir sa propre copie du code source.

### Comment puis-je mettre à jour ma copie du code JMRI ?

Les gens contribuent à la mises à jour du code JMRI presque chaque semaine. Votre copie locale ne reçoit pas ces changements jusqu'à ce que vous les demandiez, de sorte que vous avez quelque chose de stable pour travailler avec. Si vous avez une copie existante du code et que vous souhaitez mettre à jour avec le contenu le plus récent de CVS, le commande CVS est:

    cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri -q update -dA

L'option "-q" supprime un grand nombre de messages de routine. L'option "-d " est nécessaire pour dire à CVS d'apporter aussi de nouveaux répertoires. L'option "-A ", ici combiné avec "-d", signifie que vous voulez le contenu le plus récent.

### Comment puis-je obtenir le code pour une version particulière?

CVS utilise des «balises» pour faire des ensembles de contenu spécifique. Nous les utilisons pour marquer le code pour chaque version que nous construisons. Pour obtenir le code pour une version, vous pouvez la demander avec une commande comme ceci:

    cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri -q co -rRelease-2-1-5

Dans cet exemple, "Release-2-1-5 " est le mot-clé pour la version 2.1.5. Vous pouvez ajuster le mot clé au besoin. Si vous avez déjà une version vérifiée et que vous souhaitiez mettre à jour une version spécifique, changer le commandement "co" par "update-d"

### Quelles sont ces lignes comme $Revision$ and $Id$?

Elles sont automatiquement mises à jour par CVS à chaque fois qu'une nouvelle version du fichier est vérifié, dans le référentiel. S'il vous plaît ne pas les modifier! Si vous contribuez avec vos modifications au projet, ces lignes doivent être intactes dans le fichier de contribution.

### Comment puis-je mettre à jour une copie existante de la source de la version actuelle?

Comme le code commun change, vous pouvez mettre à jour votre copie pour contenir la dernière version. Pour ce faire, utilisez: `cvs -q update` Toute modification sera fusionnée dans les fichiers sur votre disque, et vous devriez être à jour avec vos propres modifications encore présentes.

L'option "-q" supprime un grand nombre de messages d'information pour CVS entre les différents répertoires dans le projet, la commande fonctionne encore si vous l'omettez, mais il sera plus difficile de voir les messages d'erreur réelle.

### Quels sont ces messages sur .DS_Store files?

Si vous utilisez Mac OS X, CVS peut vous donner des messages à propos de ". DS_Store ".Ils sont utilisés pour garder une trace de la disposition des fenêtres, etc. Pour supprimer ces messages, il suffit de créer un fichier dans votre répertoire appelé ". cvsignore" et ajouter une ligne de ". DS_Store" (sans les guillemets). CVS va ignorer tous les . DS_Store dans tous les arbres extrait de votre répertoire extrait.

### Quelle est la convention pour les noms d'étiquettes

En règle générale, trois types de noms d'étiquettessont utilisés:

1. "Release-1-5-4" - la balise définissant une version spécifique du code publié. Elles sont créées lors de la libération de la version, et ne devrait pas être changées.
2. "Release-1-5-4-branch" - c'est la branche-balise définissant une "branche patch" pour une version spécifique. C'est la seule fois que nous font usage de branches CVS, s'il vous plaît noter que nous n'utilisons pas de branches pour le développement normal.
3. "rgj20050603a" - de la forme "initiales" "date" "quelque lettre", ne peut être utilisé que par des développeurs individuels pour garder une trace de ce qu'ils font. Tout ce que nous demandons, c'est que vous commenciez une étiquette avec vos initiales.

### Comment JMRI est sauvegarder dans CVS?

JMRI se compose de deux grandes arborescences de code, et un certain nombre de répertoires auxiliaires. Le code est divisé en "jmri", le code principal JMRI, et "test", l'ensemble des tests est automatisés. Ils sont séparés de sorte qu'il est facile de construire tout le logiciel distribué, sans y inclure le code de test. (Si vous regardez directement le dépôt CVS, vous verrez aussi les répertoires "jmrit" et "jmrix" , qui sont obsolètes, et conservés exclusivement pour des raisons historiques).

De même, l'information auxiliaire est gardés dans "lib", "xml", "ressources", "jython", répertoires, etc.

Enfin, il y a un tas d'informations qui ne font pas partie de la zone de développement d'applications, y compris le répertoire des outils "scripts" pour la libération des constructions, le site web, et d'autres.

Nous stockons tout ceci séparément dans le CVS de sorte que vous pouvez vérifier uniquement celle dont vous avez besoin.

Pour simplifier l'extraction d'un arbre de développement, nous offrons un module CVS nommé "all". Cela vérifie les répertoires nécessaires et les met dans les endroits nécessaires pour construire en ligne droite.

### Certains fichiers semblent être en lecture seule, pourquoi ceci?

Comme le logiciel évolue, les fichiers deviennent parfois obsolètes. S'ils ne sont pas tous nécessaires, CVS nous permet de les supprimer des versions ultérieures. Dans ce cas, ils ne se montrent pas du tout lorsque vous vérifiez une copie à jour.

Mais parfois, le fichier doit rester, mais nous voulons qu'il ne soit plus modifiable. Par exemple, un schéma plus âgés ou fichier DTD doit rester de telle sorte que les références plus anciennes continuer à travailler, mais nous ne voulons pas que quelqu'un puissent modifier accidentellement l'ancienne version au lieu de la version actuelle du fichier.

Dans de tels cas, nous utilisons le "cvs watch on " option pour verrouiller efficacement le fichier. La version archivée du fichier est protégée en écriture ainsi vous ne pouvez pas le modifier sans remarquer le problème, et les changements ne peuvent pas être vérifiées de nouveau dans CVS à moins que la montre de fichier soit désactivée.