Lipforge et CVS

 // accueil 2006-09-18 

Rubriques
Lipforge dies and reborns CVS et Gforge CVS et binaires Projets : publics / privés Documenter ses projets
Questions ou commentaires ?
Suggestions ou conseils ?

CVS et GForge

CVS est l'outil de gestion de code de GForge. Ces quelques notes ne constituent pas une documentation de CVS qu'il vous est, par ailleurs, fortement conseillé de consulter. Bien qu'il ne soit pas toujours très pratique, le « Cederqvist » constitue, en la matière, une référence utile.

Création de dépot

Le dépôt est créé automatiquement avec la validation du projet. Le dépôt est vide à l'exception du répertoire « administratif » CVS. Il ne faut surtout pas utiliser la commande init sur le dépôt. Vous risquez alors de modifier les permissions dans le répertoire CVS et de rendre impossible le travail de tout autre utilisateur que vous-même (un comble pour un outil de développement coopératif !).

Pour initialiser le dépôt, deux solutions finalement très proches, selon que vous disposiez déjà de quelques fichiers et/ou répertoires ou que vous partiez d'un projet vide.

L'idée est de créer un nouveau module dans l'archive CVS correspondant à votre projet (tous les fichiers utilisateur doivent être insérés dans un module).

Placez-vous dans le répertoire contenant vos fichiers (ou un répertoire vide si vous voulez créer un module vide).
Commencez par exporter la variable d'environnement CVS_RSH (export CVS_RSH=ssh sous sh ou bash).
Tapez ensuite la commande : cvs -z3 -d:ext:developername@lipforge.ens-lyon.fr:/local/chroot/cvsroot/projname import modulename vendortag releasetag

Dans ces commandes, les paramètres vendortag et releasetag sont de simples chaînes comme votre nom de login pour le premier et le mot « start » pour le second.

Vous devez prendre des précautions particulières si vous manipulez des fichiers binaires (images, documents PDF, exécutables/bibliothèques, etc.) avec CVS (voi ici).

Cessez dès lors d'utiliser votre répertoire de départ comme répertoire de travail. Pour modifier et/ou ajouter des fichiers, placez-vous dans un nouveau répertoire et commencez par faire un checkout du module fraîchement crée.

Vous remarquerez d'ailleurs que le chekout va créer un sous-répertoire portant le nom du module et que c'est dans ce sous répertoire que vont se trouver les dossiers et fichiers de votre projet (auxquels s'ajoutent des dossiers CVS à usage interne au logiciel).

Les opérations ultérieures feront appel essentiellement aux commandes checkout, commit, add> et remove (voir la documentation de CVS).

Accès au dépôt

Trois types d'accès sont prévus :

  • accès développeur via SSH ;
  • accès anonyme en lecture via pserver ;
  • accès anonyme ou non, en lecture, via CVSWEB.

Accès développeur

C'est la seule manière d'accéder en lecture et écriture. L'accès se fait via SSH, vous devez donc disposer de cet outil sur votre machine. Les indications ci-dessous se rapportent au travail sous Unix et assimilé (Cygwin). Dans d'autres environnements recherchez les outils et procédures équivalents.

Avant de lancer toute commande CVS, vous devez d'abord exporter la variable d'environnement CVS_RSH (export CVS_RSH=ssh sous sh ou bash).

Tapez ensuite la commande suivante :

cvs -z3 -d:ext:developername@lipforge.ens-lyon.fr:/local/chroot/cvsroot/projname command modulename où :

  • developername est votre login sur lipforge ;
  • projname est le nom Unix de votre projet ;
  • command est le nom de la commande CVS (suivie d'éventuels paramètres) ;
  • modulename le nom du module sur lequel vous voulez travailler.

Vous pouvez vous épargner beaucoup de travail de frappe et éviter bien des erreurs en utilisant un alias ou un script ayant, par exemple, le nom du projet. Vous pouvez aussi vous dispenser de taper votre mot de passe à chaque commande en déposant votre clé SSH sur le serveur Lipforge.

Cette opération, d'habitude assez rébarbative, est simplifié sous GForge. Allez sur votre page personnelle (onglet « My Page »). Cliquez ensuite le lien « Account Maintenance ». Allez chercher en bas de page le lien « Edit Keys ». Suivez alors les instructions qui vous sont données. Vous devez déposer une clé pour chaque machine depuis laquelle vous voulez accéder à Lipforge.

Accès par CVSWEB

Il est ouvert à tout lecteur du site, même non identifié. En revanche, il est restreint, dans le cas des projets privés, aux seuls développeurs. Leur login et mot de passe leur sont demandés pour accéder aux pages (d'où l'intérêt de toujours utiliser HTTPS). Les projets privés n'apparaissent d'ailleurs pas dans la liste des racines accessibles.

Cette interface est assez pratique même si vous disposez d'un accès développeur car il vous propose quelques outils intéressants (comme un diff assez sympathique ou une commande pour générer une archive tar ou zip du module).

Accès pserver anonyme

C'est le type d'accès anonyme le plus répandu. De nombreux logiciels sont mis à disposition du public sous cette forme. Par défaut, cet accès est protégé par un mot de passe aléatoire. Vous pouvez supprimer ce mot de passe dans le fichier CVS/passwd (prenez garde de ne supprimer que le mot de passe et de laisser le texte anonymous::anonymous) et rendre l'accès vraiment libre. Si vous le souhaitez, vous pouvez remplacer le mot de passe existant par un autre : la forme encryptée, telle qu'elle est stockée dans le fichier CVS/passwd est produite, par la fonction Unix crypt. Ne comptez pas verrouiller réellement l'accès par ce moyen : souvenez-vous que l'accès par CVSWEB, extrêmement puissant, et qu'il ne dispose d'aucun mécanisme de contrôle d'accès pour les projets publics.


Nouvelles & Nouveautés
Lipforge closing is not the end of the story: join us on CBP-Forge powered by Redmine!
Sad but true, Lipforge is closing.
 2004-05-18
CVS et binaires
On peut aussi gérer des fichiers binaires avec CVS. Mais quelques précautions s'imposent pour éviter les déconvenues.
 2004-05-14
CVS
Quelques conseils pour utiliser CVS sur LipForge.
 2004-05-14
Documenter ses projets
Gforge vous offre plusieurs possibilités pour documenter vos projets. Quelques éclaircissements à ce propos.
 2004-05-14
Public / privé
Gforge est un outil plutôt destiné aux projets publics mais il permet aussi de travailler de manière plus discrète... quitte ensuite à sortir en pleine lumière !

shareright © 2002 Phlash