Ô fidèle lecteur,
Tu m’as bien suivi et lu attentivement mes billets sur les licences, todo et changelog et les forks.
Tu es évidemment convaincu qu’il faut partager ce que l’on produit et en fixer les modalités simplement, tu es conscient que tu aideras tes prochains utilisateurs en leur disant ce que tu as fait et ce qui te reste à faire. Enfin, tu as compris qu’un dissidence n’est pas toujours une hérésie. Bien!
Je te propose de faire un pas de plus et d’utiliser un système de gestion de version, si possible décentralisé, comme Mercurial.
Voici ce que cet outil te permet de faire:
- de faire d’un répertoire une « zone suivie » par le système de gestion
- d’ajouter, modifier ou supprimer des fichiers
- lorsque tu modifies des fichiers, de commenter tes modifications
- d’envoyer tout cela sur un serveur
Ce qui signifie:
- que tu possèdes tout le changelog de ton projet
- que tu peux revenir à une version quelconque d’un fichier donné ou de tout le projet
- que tu peux mettre tout cela (=les fichiers et leur histoire) à disposition, pour suivre le projet ou faire un fork
Mais en plus, tu as quelques bonus (dont tu n’avais même pas rêvé) à disposition:
- tu peux créer des versions: dire qu’à un temps donné, l’ensemble des fichiers constitue une entité cohérente, par exemple tout ta documentation au début de ton année de catéchisme
- tu peux créer des branches: faire diverger une partie du projet, par exemple par une branche de maintenance (où tu corrigeras simplement les coquilles orthographiques) et une branche de développement (une sorte de mini-fork interne)
- tu peux travailler de manière décentralisée: tu reprends tout un projet du serveur, un collègue fait de même, et tout est renvoyé sur le serveur. Si vous avez travaillé sur des parties différentes, le projet hérite de toutes vos améliorations; si vous avez travaillé sur une même partie, il y a des outils pour résoudre les conflits
D’autres ont aussi présenté Mercurial:
Au même titre que Git et Subversion, Mercurial est un logiciel permettant de gérer l’évolution de fichiers, en les stockant sur un serveur tout en conservant un historique chronologique des différentes modifications. Ces outils sont notamment utilisés dans les projets informatiques qui nécessitent une certaine organisation et facilitent le travail collaboratif. Par exemple, si deux développeurs sont sur le même projet, la modification de l’un n’écrasera pas celle de l’autre : les deux versions seront conservées et le système permettra de revenir à une révision antérieure, de connaître les différences entre plusieurs versions, de fusionner des versions pour mettre à jour un fichier qui a été modifié entre temps, etc.
Penaud, tu te demandes pourquoi tu n’utilises pas encore un outil aussi puissant. Moi aussi! Pour t’y mettre, sache qu’il faut travailler avec des fichiers texte, ce que tout le monde devrait faire, et prendre le temps de comprendre l’outil. Une fois que ce sera fait, tu ne pourras plus t’en passer!
N’hésite pas, fidèle lecteur, à me contacter si tu souhaites utiliser un tel système pour un projet « littéraire ».