wiki:DocSvn

Repos svn

AlternC utilise desormais  Subversion (SVN) pour gerer son code source. Il est possible de consulter le code en ligne au travers le  Browser Trac ou directement par le web, a  https://dev.alternc.org/svn/alternc/. Pour faire un checkout, utilisez aussi cet url, exemple:

svn co https://dev.alternc.org/svn/alternc/trunk

Branches

Sentez-vous libre de creer des branches pour les nouvelles fonctionalites que vous voulez travailler. Chaque branche de developpement personnelle doit etre sous la forme <login>-<tache>, exemple:  joe-validation-comptes. Il faut cependant essayer de coordonner ses efforts avec d'autres developpeurs et eviter de creer trop de branches.

Pour creer une branche la syntaxe est de la forme :

 svn copy https://dev.alternc.org/svn/alternc/trunk/ https://dev.alternc.org/svn/alternc/branches/larpoux-unstable -m "From the stable trunk"

Quand une branche est creee, elle doit aussi etre documentee ici:

  •  leejay-newlook: developpement d'une nouvelle interface aux normes XHTML et CSS
  •  larpoux-unstable: un certain nombre de taches, essentiellement autour des problemes de packaging mais que je n'ose pas mettre dans la branche stable pour ne pas risquer de mettre la grouille dans le projet :-(. Mes notes dans LarpouxUnstable?

Merge

Lors que des modifications doivent être reportées d'une branche vers le trunk ou inversement, il faut utiliser la commande svn merge.

Par exemple, je commit sur la branche  http://dev.alternc.org/svn/alternc/branches/mabranche, ce qui produit la révision 666.

Je veux merger cette modification dans le trunk.

Je récupère la révision précédente de mon commit avec svn log --stop-on-copy -r 666 -l 2  http://dev.alternc.org/svn/alternc/branches/mabranche, c'est la révision 664.

Je me positionne à la racine de ma copie locale du trunk.

Je merge avec la commande : svn merge -r664:666  http://dev.alternc.org/svn/alternc/branches/mabranche

Je résous les conflits si il y en a.

Je commit avec un message explicite.

Tags

Il faut tagger les releases:

svn cp https://dev.alternc.org/svn/alternc/trunk https://dev.alternc.org/svn/alternc/tags/0.9.4

Users

Les users sont stockes dans une db .htpasswd gere par un  script special. Certains users ont les capacites d'ajouter des nouveaux utilisateurs. Utiliser avec soin.

Hooks

Plusieurs  hooks ont ete configures dans le repo SVN alternc:

  • CiaHook?: repertorier les changements au code source a  CIA et donc au bot dans le CanalIrc?
  • CommitMailHook?: envoyer un courriel a la liste cvs-commit a chaque commit
  • TracHook: ferme ou commente automatiquement les bugs dans Trac

Modifications

Des modifications a l'arbre peuvent etre operees par les administrateurs du repo SVN. Elles vont etre documentees ici:

  • 26 avril 2006: fusion des repos alternc-* dans le repo alternc. l'url canonique du repo officiel devient  https://dev.alternc.org/svn/alternc/trunk/. Pour faire un update des anciens checkouts, utilisez l'incantation:
    svn switch https://dev.alternc.org/svn/alternc/trunk/
    

Pour plus d'informations