> Modules > Telechargements > Download > Guide_d_installation > Gestion_d_evenements > CopixUrl > CopixDB > Utilisation_de_Subversion
fr

Voici une petite compilation des règles à respecter lors de l'usage du référentiel Subversion.

Format des fichiers et indentation

Cf. Normes_de_developpement.

Commentaires de commit

Toujours indiquer un commentaire lors d'un commit.

Modules et/ou classes concernées

Si votre modification concerne une classe ou un module, indiquez-le en en-tête de message, par exemple :


CopixXMLSerializer: prise en charge de mbstring.
 

Cela facilitera la recherche dans les logs.

Numéros de tickets

Si votre modification concerne un ticket de Trac, indiquez son numéro sous le format #numéro, par exemple :


Bug #71 corrigé.
 

Cette convention permet à Trac de faire des liens, cf. message de commit de la révision 581

Commandes Trac

Il est possible d'effectuer des actions sur les tickets Trac à travers les messages de commit.

Les commandes doivent avoir l'une des formes suivantes :


commande #1
commande #1, #2
commande #1 & #2
commande #1 and #2
commande #1 et #2
 

Actuellement, seul deux actions sont possibles :


Correction des zibomatiques bleus.
Ferme #142.
 

Identification par le binaire.
Cf #145.
 

Vous pouvez mettre plusieurs commandes et plusieurs tickets, à n'importe quel endroit de votre message de commit.

Référence à des révisions

Pour faire des références à des révisions précédentes, utilisez la syntaxe rNNN, par exemple :


Correctifs suite aux tests du r579.
 

Cette convention permet à Trac de faire des liens, cf. message de commit de la révision 581

Répertoires temp et var

Les répertoires temp et var ne contiennent que des fichiers et répertoires générés pendant le fonctionnement de l'application. Sauf cas exceptionnels, ces fichiers ne doivent jamais être ajouté dans le référentiel Subversion.

Au niveau de Subversion, ces deux répertoires (et leur sous-répertoires) sont configurés pour ignorer tous les fichiers et répertoires qu'ils contiennent, afin d'éviter de les ajouter accidentellement.

Il est toujours possible d'ajouter manuellement un fichier ou un répertoire mais à moins que vous sachiez vraiment ce que vous faites, ne le faites pas !

Propriétés des fichiers

Subversion permet de définir des propriétés sur les fichiers, afin de normaliser et de faciliter certaines opérations.

svn:eol-style

ATTENTION: définir cette propriété est désormais obligatoire sur les fichiers php, tpl, ptpl, xml, css, js, sql, txt, html et properties. Subversion refusera votre commit si elle manque.

Cette propriété permet d'indiquer comment le client Subversion doit convertir les retours-chariots entre le référentiel et votre copie de travail. Par défaut il n'effectue aucune opération.

Paramétrer svn:eol-style à native indique à Subversion que votre copie de travail utilise les retours-chariots propres à votre système d'exploitation (rn pour Windows, n sous Linux, r pour les Macs) et qu'il doit faire les conversions .

Si un fichier (probablement un fichier de ressources) doit absolument respecter un type de retour chariot, vous pouvez utiliser les valeurs CR, CRLF ou LF. Ne faites appel à cette solution que si vous savez ce que vous faites.

L'intérêt de définir cette propriété est de normaliser les retours-chariots et de faciliter les comparaisons de fichiers.

Pour plus d'informations, consultez le manuel de Subversion (en).

Configurer votre client Subversion pour définir automatiquement les propriétés

Afin de faciliter l'ajout de fichiers au quotidien il est possible de configurer votre client Subversion pour qu'il définisse un certains nombre de propriétés par défaut, en fonction de l'extension des fichiers.

Nous vous conseillons d'intégrer les lignes suivantes dans le fichier config, qui se trouve dans %USERPROFILE%\Application Data\Subversion sous Windows XP et dans $HOME/.subversion sous Unix.

Dans la section [miscellany]:


enable-auto-props = yes
 

Dans la section [auto-props]:


*.php = svn:eol-style=native;svn:mime-type=text/plain
*.tpl = svn:eol-style=native;svn:mime-type=text/html
*.ptpl = svn:eol-style=native;svn:mime-type=text/plain
*.xml = svn:eol-style=native;svn:mime-type=text/xml
*.css = svn:eol-style=native;svn:mime-type=text/css
*.js = svn:eol-style=native;svn:mime-type=text/javascript
*.sql = svn:eol-style=native;svn:mime-type=text/plain
*.txt = svn:eol-style=native;svn:mime-type=text/plain
*.html = svn:eol-style=native;svn:mime-type=text/html
*.properties = svn:eol-style=native;svn:mime-type=text/html
 

Pour plus d'informations, consultez le manuel de Subversion (en).