Pages enfant
  • 01 - généralités sur subversion

Liens utiles


Principales différences entre CVS et subversion


On utilisera souvent le terme 'SVN' pour décrire le protocole subversion. En fait, svn est également le nom du client ligne de commande de subversion.

Subversion est un Système de Contrôle de Version (SCV) considéré comme le successeur de CVS ; ainsi, la plupart des fonctionnalités de CVS sont intégrées à Subversion.

Les répertoires, renommages et les propriétés des fichiers sont versionnés. Il est maintenant possible de supprimer un répertoire.

Les numéros de révision ne sont plus sur les fichiers individuellement mais sur le dépôt lui-même.

Webdav est utilisé comme protocole réseau, apache V2 comme serveur support. Ceci permet de passer simplement les firewall, d'accéder aux informations en lecture directement avec un navigateur web en http ou https, et d'utiliser les mécanismes d'authentification apache (LDAP par exemple). Il est également possible d'assurer une protection des échanges et en particulier du mot de passe en utilisant webdav dans https.

Les branches et les tags sont assimilés à des opérations de "copie", la manipulation est donc très simple. Les copies subversion sont virtuelles, les branches et tags au niveau du dépôt ne sont que des références à des révisions de documents / répertoires.

Règles de bonne conduite


Le dépôt subversion ne devrait contenir strictement que les fichiers nécessaires à la compilation puis l'utilisation du sous-projet.

Par exemple, les sources , docs, fichiers de propriété génériques, ...

Et pas les classes compilées, pas les fichiers liés à l'environnement eclipse, ....

Donc, si la source du dépôt SVN est un projet eclipse, supprimer les fichiers commençant par '.' (ex : .project ), le répertoire build , tous les fichiers qui n'ont pas à se trouver dans le package final et qui risque de gêner d'autres développeurs participants au projet.

En ce qui concerne le fichier build.properties : il est probable qu'il soit lié à votre propre environnement. Dans ce cas, créez dans le sous-projet un fichier build.example.properties avec des définitions par défaut, mettez ce fichier dans le dépot, et n'incluez pas votre propre fichier build.properties .

Penser à mettre un commentaire à chaque commit. Cela va faciliter les éventuels retour en arrière, merge, ... dans le dépôt subversion.

Utilisation des branches et tags


A remarquer qu'un projet subversion est constitué de 3 répertoires principaux :

trunk

C'est le répertoire de travail. C'est dans ce répertoire qu'on contruit normalement le projet. Donc, sauf cas exceptionnels (modifications dans une branche), on travaillera toujours dans le répertoire trunk du projet.

tags

C'est le répertoire qui contiendra les versions 'taguées'.

branches

C'est le répertoire qui contiendra les éventuelles branches du projet.

A noter qu'on ne travaillera jamais dans l'arborescence ' tags '.

Il faut systématiquement poser un tag lors du dépôt d'une nouvelle version packagée du sous-projet dans l'espace de téléchargement. Ce tag doit nécessairement refléter la version du sous-projet (ex : 1.0-RC1 ).

  • Aucune étiquette