Forge

Gestion collaborative du développement

Le projet SliTaz dispose de divers moyens pour gérer le travail des développeurs et collaborer. Un système de gestion de révision avec Mercurial (Hg), des modules de synchronisations avec Rsync, de la documentation, une liste de discussion et un canal IRC. Tous les développeurs sont inscrits sur la liste, c'est le moyen de collaboration principal et privilégié.

Dépôts Mercurial

Tous les sous projets tels que Tazpkg, Tazwok ou Tazlito ont leurs propres dépôts Hg sur le serveur du projet, tout comme le wok. Les développeurs ont un compte et des droits en écriture afin de pouvoir envoyer leurs recettes, mises à jour ou modifications. Il est bien sûr possible de demander la création d'un nouveau dépôt pour collaborer sur un nouveau sous projet lié à SliTaz. A noter qu'il y a 2 domaines : hg.slitaz.org est public et repos.slitaz.org nécessite authentification, c'est a dire que vous pouvez cloner hg.slitaz.org mais pas y pousser vos changements ou fichiers.

~/.hgrc

Mercurial utilise un fichier caché ~./hgrc permettant de spécifier son nom d'utilisateur. Il faut mettre votre nom et adresse mail pour qu'on sache qui a modifié quoi. Et attention à ne pas être root pour pousser vos modifications. Exemple :

[ui]
username = Prénom Nom <you@example.org>

Cloner, modifier, commiter et pousser

Vous avez le choix de cloner anonymement via hg.slitaz.org ou directement avec votre login et mot de passe. Pour cloner un dépôt tel que le wok :

 $ hg clone http://repos.slitaz.org/wok/

Copier, créer, modifier des recettes ou des fichiers dans stuff. Avant de pouvoir pousser vos modifs il faut les additionner à votre dépôt local et les commiter. A noter que la commande status permet de savoir quels fichiers ont été modifiés :

 $ cd wok
 $ hg status
 $ hg add
 $ hg commit

La commande commit va ouvrir l'éditeur de texte Nano pour écrire le message déstiné aux logs (Ctrl + X pour enregistrer et quitter). Vous pouvez éviter Nano en utilisant l'option : -m "Meassage". And please, messages in English if possible :

 $ hg commit -m "Message for Mercurial log"

Une fois que tout est prêt, vous pouvez encore utiliser la commande log pour voir ce qui va être affiché sur l'interface web. Pour pousser vos changements c'est push :

 $ hg log
 $ hg push

Si vous avez cloné depuis hg.slitaz.org il faut alors pousser en spécifiant le bon URL :

 $ hg push http://repos.slitaz.org/wok/

Mettre à jour un wok local

Pour mettre à jour votre wok local avec celui du serveur (pull pour tirer les changements) :

 $ hg pull
 $ hg update

Commande utiles

Des commandes hg qui peuvent servir.

Paquets tazpkg

Les paquets tazpkg de SliTaz sont créer automatiquement via Tazwok et les recettes contenues dans le wok, le Cookbook décrit l'utilisation des outils SliTaz et le format des recettes, c'est sans doutes par un petit peu de lecture qu'il faut commencer.

Au niveau du choix des paquets, l'idée est de proposer un paquet par tâche ou fonctionnalités, c'est à dire pas (trop) de doublons et de trouver l'application la plus légère dans son domaine. A noter que les paquets actuels ne sont pas figés, si vous trouvez une alternative à un paquet existant, étant plus légère, ayant plus de fonctionnalités ou soyant plus sexy pour quelques Ko supplémentaires, vous pouvez la proposer sur la liste. Une attention particulière est portée aux paquets destinés au LiveCD, strip, suppression de tout ce qui est inutile, dépendances et options de compilation. En général, les paquets candidats pour le corps du LiveCD sont discutés sur la liste.

Avant de commencer à compiler et créer des paquets pour SliTaz assurez-vous qu'une recettes n'existe pas dans le wok indigest disponible sur le miroir principale de SliTaz. N'oubliez pas non plus que les membres de la liste sont là pour vous aider et que la documentation du wok et des outils existe pour bien commencer.

Gestion du site Web et des livres

La gestion du site et des livres (Handbook et Cookbook) est faites via un modules Rsync, diff et patch et la liste de discussion. Rsync est un outil de sauvegarde incrémentale, utilisant un algorithme ultra rapide. Il permet de transférer, synchroniser ou sauvegarder des données en local ou en réseau. L'utilitaire diff est utilisés pour envoyer sur la liste des fichiers contenant uniquement les modifications et patch pour appliquer les modifications au pages originales.

Vous pouver synchroniser le site et les livres graphiquement avec Grsync ou via la ligne de commandes. Pour rapatrier une première fois ou synchroniser le site dans un répertoire /home/hacker/Public/slitaz/site et cela depuis rsync://slitaz.org/site :

 $ rsync -r -t -p -v \
       --progress --delete \
       rsync://slitaz.org/site /home/hacker/Public/slitaz/site

Diff et patch

Les utilitaires diff et patch sont des outils en ligne de commande permettant de créer et d'appliquer un fichier contenant les différences entre deux fichiers. Cette technique est souvent utilisée pour collaborer et permet d'extraire clairement les modifications apportée au fichier original. Pour créer un fichier diff lisible par les humains dans un simple éditeur de texte, il faut utiliser l'option -u en argument :

 $ diff -u file.orig file.new > file.diff

Pour appliquer un patch :

 $ patch file.orig file.diff

Dernière modification : 2008-01-01 12:00:00 - Haut de la page

Copyright © 2008 SliTaz - GNU General Public License

Valid XHTML 1.0