Fossil est un DCVS particulièrement pratique je trouve, déjà il est très facile à compiler, le binaire est tout petit et relativement indépendant, ensuite son utilisation est vraiment simple. Là où il faut lire 50 tutos pour Git car son fonctionnement est alambiqué, Fossil est particulièrement facile à appréhender.
Dans les autres avantages je compte l'utilisation locale : on a un gestionnaire de version complet, en local, sans avoir besoin de connexion au réseau pour gérer le wiki, les tickets, la doc, etc.
Enfin, son format de stockage, SQLite, le rends particulièrement sûr, car pour corrompre une base SQLite il faut y aller. De plus récupérer et sauvegarder le contenu de la base est relativement aisé.
Mais c'est aussi le nombre hallucinant de fonctionnalités intégrées :
serveur HTTP
gestionnaire de tickets
wiki
téléchargement de tarball et zip
documentation du projet intégrée (c'est ce qui est utilisé pour la doc de SQLite par exemple)
gestion des accès utilisateurs
Et dans la version de développement actuelle y'a même aussi une API JSON, accessible non seulement via HTTP mais aussi via la ligne de commande.
Dans les inconvénients je citerais surtout le fait que Fossil ne connaît que les fichiers, et pas les répertoires, par exemple :
$ mkdir test
$ fossil add test
$ fossil ci test
fossil: fossil knows nothing about: test
Ce qui est plutôt gênant car il n'est pas possible par exemple de faire :
$ editor templates/test.tpl
$ fossil ci templates
Pour ne commiter que les fichiers dans templates. Car fossil ne sait rien de "templates". De même il n'est pas possible de faire :
$ fossil ci templates/*
Car la commande de commit ne sait gérer que les fichiers qui ont été changé. Ce qui donne donc :
fossil: file templates/index.tpl has not changed
C'est la logique de Fossil qui veut ça. Venant surtout de SVN, mais aussi un peu de Git, je suis relativement habitué à utiliser svn commit répertoire, donc cette logique me paraît un peu contre-intuitive.
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)
[^] # Re: Yep!
Posté par BohwaZ (site web personnel, Mastodon) . En réponse à la dépêche Fossil, une forge pour DVCS. Évalué à 9.
Un exemple perso avec un design personnalisé : https://fossil.kd2.org/garradin/
(Par contre il n'y a qu'un trunk.)
Le meilleur exemple reste quand même le fossil de Fossil lui-même : http://fossil-scm.org/index.html/timeline
Fossil est un DCVS particulièrement pratique je trouve, déjà il est très facile à compiler, le binaire est tout petit et relativement indépendant, ensuite son utilisation est vraiment simple. Là où il faut lire 50 tutos pour Git car son fonctionnement est alambiqué, Fossil est particulièrement facile à appréhender.
Dans les autres avantages je compte l'utilisation locale : on a un gestionnaire de version complet, en local, sans avoir besoin de connexion au réseau pour gérer le wiki, les tickets, la doc, etc.
Enfin, son format de stockage, SQLite, le rends particulièrement sûr, car pour corrompre une base SQLite il faut y aller. De plus récupérer et sauvegarder le contenu de la base est relativement aisé.
Mais c'est aussi le nombre hallucinant de fonctionnalités intégrées :
Et dans la version de développement actuelle y'a même aussi une API JSON, accessible non seulement via HTTP mais aussi via la ligne de commande.
Dans les inconvénients je citerais surtout le fait que Fossil ne connaît que les fichiers, et pas les répertoires, par exemple :
Ce qui est plutôt gênant car il n'est pas possible par exemple de faire :
Pour ne commiter que les fichiers dans templates. Car fossil ne sait rien de "templates". De même il n'est pas possible de faire :
Car la commande de commit ne sait gérer que les fichiers qui ont été changé. Ce qui donne donc :
C'est la logique de Fossil qui veut ça. Venant surtout de SVN, mais aussi un peu de Git, je suis relativement habitué à utiliser svn commit répertoire, donc cette logique me paraît un peu contre-intuitive.
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)