Journal Fossil

Posté par (page perso) . Licence CC by-sa
Tags :
34
17
fév.
2012

Fossil est le système de fichier de Plan9. Ce n'est pas le sujet de ce journal.

Fossil c'est aussi un outil de gestion de version décentralisé, DCVS en court. Il est toujours un peu osé, par les temps qui court, de parler d'un autre DCVS que le très apprécié Git, mais Fossil c'est aussi un peu plus que ça ; un plus qui m'a beaucoup séduit.

Fossil c'est aussi un wiki, un outil de gestion de ticket et une interface Web (et son serveur) dans un seul exécutable. Sans entrer dans les détails, il supporte les mêmes fonctionnalités que la plus grande partie des DCVS, il se veut robuste et fiable, simple, un protocole réseau simple (HTTP) rendu suffisamment efficace pour fonctionner sur un ligne téléphonique 56k et facile d'utilisation (pas de configuration, commande simple). Ça c'est la partie "marketing".
Si la description sonne un peu comme celle de SQLite, ce n'est pas un hasard : Fossil est développé par les mêmes personnes, utilise SQLite pour le stockage et est utilisé comme gestionnaire de version pour ce projet (et d'autres). Fossil n'est donc pas juste un projet sombre dans un coin du Net.

Ce qui m'a séduit c'est d'avoir tout cet attirail de fonctionnalités dans un exécutable de ~800KiB. Depuis quelques temps, je n'utilise plus qu'un netbook dont le seul critère est l'autonomie. J'ai aussi plus de connexion Internet à mon domicile, mais un abonnement de téléphonie mobile avec données illimitées (limitation de la bande passante à partir de 12G/mois). Je recherche donc des outils utilisant un minimum Internet, léger et accessible sur demande. Fossil est cet outil. Pas besoin de serveur Apache, ou autre, tournant sur ma machine, peu puissante, pour écrire dans un wiki et un système de ticket. Pas besoin d'accès Internet non plus. Un simple fossil ui nom_du_depot et mon navigateur s'ouvre automatiquement sur le wiki et la gestion de ticket du projet. Ctrl-C et tout s'arrête.
Le dépôt, un seul fichier SQLite. Je le copie autre part et j'ai mon projet, avec toutes ses versions, le wiki et les tickets : la sauvegarde est simplifiée.

Pour la partie distribuée de l'outil, je n'ai pas encore testé. Mais les fonctionnalités sont là, Fossil peut tourner en CGI dans un serveur Web plus complet ou fournir son propre serveur (et peu être utilisé depuis inetd). Il a les fonctionnalités "push", "pull", "clone" et "update", mais peu aussi fonctionner en synchronisation automatique, comme un CVS ou un SVN.

Bien entendu, il supporte l'importation et l'exportation vers Git, sa prise en main est immédiate (incomparable par rapport à Git) et il y'a une gestion d'utilisateur et de droit très bien faites et complètes.

Sur la page de comparaison entre Fossil et GIT, on y trouve la phrase suivante :

The Git model works best for large projects, like the Linux kernel for which Git was designed.

"Le modèle Git est idéal pour des grands projet, comme le noyau Linux pour lequel il a été conçu". Fossil a vraiment été conçu pour un développeur seul ou une petite équipe ne voulant pas se prendre la tête avec l'administration d'un serveur complet pour héberger trois outils simples (wiki, ticket et DCVS). Et dans ce domaine, Fossil semble vraiment être un réussite.

Je pense que ce projet peut intéressé plus d'un, je vous invite donc à l'essayer (surtout que sa simplicité déconcertante invite vraiment à le tester).

  • # => depeche

    Posté par . Évalué à 3.

    j'ai passé ton journal en depeche, car je penses que les infos sont interessantes.

    • [^] # Re: => depeche

      Posté par (page perso) . Évalué à 2.

      C'est surtout le logiciel qui est intéressant. Merci :)

      "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

      • [^] # Re: => depeche

        Posté par . Évalué à 3.

        le logiciel est certes interessant mais ton approche, experience, et la maniere dont s'est redigé est tout aussi bien.

        VOila c'est publié.

  • # fossil c'est bon, mangez en

    Posté par (page perso) . Évalué à 5.

    Fossil est très pratique pour les projets perso, en 5min on a un dépôt, un site, une documentation versionnée et un bug tracker, le tout accessible même derrière un proxy nazi.

    Il est utilisable aussi bien en autohébergement qu'en externalisé via le site http://chiselapp.com. J'utilise d'ailleurs les deux pour Newton Adventure, avec un dépôt autohébergé principal (http://bci.im/devnewton/fossils/newton_adventure) et un dépôt de secours sur chiselapp (https://chiselapp.com/user/devnewton/repository/newton_adventure)

    http://devnewton.bci.im

    • [^] # Re: fossil c'est bon, mangez en

      Posté par . Évalué à 2.

      et par rapport à git, cela se comporte comment ?

      Au niveau vitesse ? Au niveau du merge de branche (3-way merge ?) ?

      "La première sécurité est la liberté"

  • # Modifications simultanées

    Posté par . Évalué à 1.

    fossil est super intéressant je trouve. Par contre, ce qui m'intrigue, c'est la gestion des modifications simultanées sur le Wiki ou les tickets, et la documentation ne m'a pas éclairé.

    J'imagine que pour le code, ça se passe comme dans SVN ou Git.

    Mais pour un ticket, est-ce que fossil sait fusionner les modifications venant de 2 utilisateurs ? Comment se passe la gestion de conflit ?
    La question est la même pour le Wiki.

    Merci pour vos lumières !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.