Que pensent les gens du DVCS fossile? [fermé]

124

fossil http://www.fossil-scm.org
J'ai trouvé cela récemment et j'ai commencé à l'utiliser pour mes projets personnels. Je veux entendre ce que les autres pensent de ce VCS.

Ce qui manque dans mon esprit, c'est le support IDE. J'espère que cela viendra, mais j'utilise la ligne de commande très bien.

Mes choses préférées à propos de fossil: un exécutable unique avec un wiki de serveur Web intégré et un suivi des bogues. Le référentiel est juste un fichier de base de données SQLite ( http://www.sqlite.org ), facile à faire des sauvegardes. J'aime aussi le fait que je puisse exécuter fossil et conserver le référentiel sur ma clé USB. Cela signifie que mon développement logiciel est devenu complètement portable.

Dis-moi ce que tu penses....

javelotBCD
la source
Cela semble vraiment intéressant. Savez-vous s'il existe un outil pour pousser / tirer vers / depuis git, mercurial ou svn?
Thilo
J'ai trouvé un lien sur le wiki de fossiles. Je n'ai pas vraiment regardé cela. Quelqu'un qui a besoin de cette fonctionnalité, jetez un œil et commentez: < fossil-scm.org/index.html/wiki?name=Import+CVS+Repositories >
javelinBCD
Cette URL a changé en: fossil-scm.org/fossil/wiki?name=Import+CVS+Repositories
Mike DeSimone
3
Fossil a ajouté l'importation et l'exportation GIT ... fossil-scm.org/index.html/doc/trunk/www/inout.wiki
javelinBCD
@javelinBCD: FYI Git n'est pas un acronyme
bug

Réponses:

182

Monsieur Millikin, si vous prenez quelques instants pour examiner une partie de la documentation sur les fossiles, je pense que vos objections y sont traitées. Le stockage d'un référentiel dans une base de données sQLite est sans doute plus sûr que toute autre approche. Voir le texte du lien pour certains des avantages de l'utilisation d'une base de données transactionnelle pour stocker un référentiel. Quant au ballonnement: le tout est dans un seul exécutable autonome qui semble réfuter cette préoccupation.

Divulgation complète: je suis l'auteur de fossile.

Notez que j'ai écrit fossil car aucun autre DVCS ne répondait à mes besoins. D'un autre côté, mes besoins ne sont pas vos besoins et vous seul pouvez donc juger si le fossile vous convient ou non. Mais je vous encourage à au moins jeter un œil à la documentation et à essayer de comprendre le problème que fossil tente de résoudre avant de le rejeter.


la source
43
Fossil est superbe, beau travail.
Greg Hewgill
7
Les fonctionnalités fournies par fossil que l'on n'obtient pas avec d'autres DVCS incluent: - Wiki intégré. - Suivi des bogues intégré - Artefacts immuables - Exécutable autonome et autonome qui peut être exécuté dans une prison chroot - Format de fichier simple, bien défini et durable - Interface Web intégrée
A.Bouchez
71
Divulgation complète : Il est également l'auteur de SQLite;)
Alan Plum
18
+1 pour cette partie de votre réponse: "D'un autre côté, mes besoins ne sont pas vos besoins et donc vous seul pouvez juger si le fossile vous convient ou non." J'ai eu une formation sur la gestion de la qualité et ils ont défini la qualité comme «Adéquation à l'objectif». Votre réponse va dans le même sens!
sergiol du
1
@pluma, j'ai commencé à m'intéresser à Fossil depuis que j'ai entendu dire qu'il était fait par le développeur de Sqlite, M. D Richard Hipp :) Même si je ne l'ai pas utilisé, je peux imaginer qu'il est léger et robuste.
Edwin Yip
47

Après avoir utilisé Fossil pendant plus d'un an maintenant sur des projets de développement non triviaux, je me sens suffisamment en confiance pour participer à ce sujet.

Voici mon expérience jusqu'à présent. Je compare parfois avec git et svn, simplement parce que je connais très bien ces SCM et que la comparaison me permet de faire passer plus facilement l'idée.

Je suis totalement amoureux de ce SCM, donc c'est surtout des points positifs.

Ce que j'aime chez Fossil:

1) Nous avons un tas de machines (win / mac / un certain nombre de distributions Linux), et l'installation à un seul exécutable est aussi belle qu'elle en a l'air. Pas de dépendances; ça marche juste. Git est une pile de fichiers désordonnée et l'enfer des dépendances dans Subversion le rend très désagréable sur certaines distributions Linux, surtout si vous devez le construire vous-même.

2) Le flux de travail Fossil par défaut convient parfaitement à nos projets, et plus de flux de travail git'ish sont possibles si nécessaire.

3) Nous l'avons trouvé extrêmement robuste, même sur de grands projets. Je n'attendrais rien d'autre des gars qui ont écrit sqlite. Pas de crash, pas de corruption, pas de drôles d'affaires.

4) Je suis en fait très, très satisfait des performances. Pas aussi rapide que git sur d'énormes arbres, mais pas beaucoup plus lent non plus. Je rattrape le temps perdu en n'ayant pas à consulter la documentation toutes les autres commandes, comme c'est le cas avec git.

5) Le fait qu'il existe une base de données transactionnelle éprouvée derrière chaque opération me permet de mieux dormir la nuit. Oui, nous avons vécu plus d'un incident horrible de dépôts Subversion périmés et corrompus (heureusement, une communauté utile nous a aidés à les réparer.) Je ne peux pas imaginer que cela se produise dans Fossil. Même Subversion 1.7.x utilise Sqlite maintenant pour le stockage des métadonnées. (Essayez de couper l'alimentation au milieu d'un commit git - cela laissera un dépôt corrompu!)

6) Le suivi des problèmes et le wiki intégrés sont facultatifs, évidemment, mais très pratiques car ils sont toujours là - aucune installation requise. J'aurais aimé que le suivi des problèmes ait plus de fonctionnalités, mais bon - c'est un SCM.

7) Le serveur intégré et l'interface graphique Web sont tout simplement géniaux et tout à fait configurables via css.

8) Nous avons parfois besoin d'importer depuis et vers les référentiels git et subversion. C'est une évidence dans Fossil.

9) Référentiel de fichier unique. Pas de répertoires '.svn' partout.

Ce qui me manque / n'aime pas chez Fossil:

1) Quelqu'un s'il vous plaît écrivez TortoiseFossil pour nos utilisateurs Windows non techniques :)

2) La communauté n'est pas encore si grande, il est donc probablement difficile pour beaucoup de gens de l'introduire dans leur entreprise. Espérons que cela changera, gagnant tous les avantages d'une grande communauté (documentation, plus de tests de nouvelles versions, etc.)

3) Je souhaite que l'interface Web locale ait une fonction de recherche (y compris la recherche de contenu de fichier).

4) Moins d'options de fusion que dans git (bien que le flux de travail Fossil rende la fusion moins susceptible de se produire en premier lieu.)

J'espère que tout le monde donne à Fossil une course - le monde est un meilleur endroit avec des choses qui fonctionnent et que vous n'avez pas besoin d'être un spécialiste des fusées pour utiliser.

grand johnson
la source
2
J'ai oublié de mentionner que TortoiseFossil arrive probablement un jour, mais pour l'instant, nous avons code.google.com/p/fuel-scm .
grand johnson
3
Il y a 'SharpFossil' / 'WinFossil': repository.mobile-developers.de/cgi-bin/ikoch/sharpfossil
...
2
Il existe une recette pour ajouter un champ de recherche de billets qui fonctionne très bien. Il utilise les possibilités de script TH1 qu'offre fossil
FvD
L'outil fuel-scm avait été déplacé vers fuel-scm.org/fossil/index . Une autre approche consiste à tirer parti de l'IDE de Visual Studio si l'on utilise pour un projet lié à Windows. Voir la documentation sur fossil-scm.org/xfer/doc/trunk/www/fossil-from-msvc.wiki
g5thomas
Juste curieux: quelque chose a changé ces dernières années?
jno
14

Fossil est petit, simple, mais puissant et robuste, me rappelle certains principes de C Culture. Aimable par ceux qui se développent de manière indépendante et collaborent encore. Tout grand projet doit commencer par des principes et les poursuivre en son sein au fur et à mesure qu'il rassemble plus de couches (interface graphique, fonctionnalités supplémentaires).

Je suis impressionné par Fossil et commence à utiliser ... jetez un œil à fossil

à votre santé

vijiboy
la source
11

J'arrive sur cette page après un an du dernier message, l'ajout récursif qui a été mentionné ici est maintenant pris en charge.

Fossil me fascine avec simplicité, surtout après avoir eu du mal à faire fonctionner un système de suivi de bogues avec mercurial. J'ai besoin de voir comment gérer plusieurs projets, publier les référentiels pour un accès multi-utilisateurs et comment faire la fusion, gérer les correctifs, etc. J'ai le sentiment que cela ne sera pas décevant à l'avenir.

Rawjeev
la source
7

Je ne suis pas intéressé à l'utiliser pour le contrôle de version du code source, mais je suis intéressé par un wiki personnel distribué contrôlé par version que je peux synchroniser entre toutes les machines que j'utilise.

Kristopher Johnson
la source
4

damian,

1 / oui, fossil ne supporte pas l'ajout récursif. Cependant, il existe des solutions de contournement assez simples telles que

for /r %i in (*.*) do fossil add "%i"

sous Windows, et

find . -type f -print0 | xargs -0 fossil add --

sur Unix.

2 / J'ai vu le message sur le manifeste malformé lorsque vous ajoutez un fichier avec des caractères non ASCII dans le nom du fichier. Le problème a été corrigé dans la dernière version.

Cordialement, Petr


la source
2
Vous pouvez toujours utiliser PowerShell sur Windows et cela rend ce type de ligne de commande beaucoup plus agréable.
javelinBCD
14
Sous Linux / Unix / Mac OS XI, faites simplement «ajout de fossiles». et il ajoute tout, tous mes sous-répertoires et tout
Trausti Thor
2
'fossil addremove' est également entièrement récursif sur toutes les plateformes. Le message ci-dessus est probablement obsolète.
FvD
1
Oui, ce message est obsolète
Johannes Kuhn
3

Je pense que le fossile est vraiment cool. La fonctionnalité la plus importante pour moi était une installation facile et des paramètres par défaut conviviaux pour les développeurs. Je l'utilise actuellement pour suivre les modifications locales de mes fichiers. (Notre projet est hébergé dans sourceforge et suivi dans CVS.) De cette façon, je peux «valider» localement même si cela risquerait autrement de casser le projet, donc des changements plus petits peuvent également être suivis.

zslevi
la source
1

Le fossile est bon. C'est simple et facile à utiliser. Si fossil peut fournir une interface graphique pour l'enregistrement et l'extraction, alors ce serait mieux (préférez java gui pour archiver l'interface graphique multiplateforme).

Les principaux avantages de Fossil sont «open source» et «utiliser la base de données SQLite», afin que quelqu'un puisse compiler du code source fossile pour faire fonctionner fossil sur la plate-forme Google Android (appareils mobiles et tablettes).

vgps
la source
0

J'essaye votre vcs en ce moment. J'aime l'idée d'avoir tout intégré. Après tout, c'est tout ce que je veux quand je recherche un système comme celui-ci. Je suis un utilisateur actif de Mercurial. Et je n'ai pas trouvé d'intégration avec un suivi des problèmes (j'ai essayé en vain de configurer p Trac avec mercurial dans le passé). Après quelques tests, je me rends compte que: 1) la commande "ajouter" n'est pas récursive, ou je ne trouve pas dans la doc un moyen de le faire 2) j'écris une batte (je travaille avec Windows) pour ajouter 750 fichiers et je l'exécute (ça a pris du temps). Lorsqu'un commit d'exécution, il saute avec "manifest malformé"

Je pense que vous pourriez résoudre ces problèmes et d'autres en faisant une enquête comme celle de Mercurial sur https://www.mercurial-scm.org/wiki/UserSurvey . tu pourrais m'écrire à dnoseda à gmail

je suis intéressé par votre travail. Continuez à l'améliorer.

Cordialement

ps .: comme amélioration du maire, vous pouvez ajouter quelque chose comme gitstat

user2427
la source
3
(Je ne suis pas un développeur fossile - juste un utilisateur) 1. il a un suivi des problèmes (il est auto-hébergé) 2. le dossier fossil add est récursif (ignore les fichiers / dossiers avec '.') Je l'ai utilisé la nuit dernière pour créer un dépôt local fossile du tronc subversion plt-scheme.org sans problème 3. La liste de diffusion est active et le développeur est très réactif - et ne semble pas trop encombré pour le moment. Il y a aussi le suivi des problèmes, que je n'ai pas eu besoin d'utiliser car Fossil a été sans bogue pour moi.
Stephen
1
Fogbugz (suivi des bogues) fonctionne avec Kiln (un répertoire en ligne pour Mercurial) tous deux fournis par Fogcreek
Toby Allen
-9

Peut-être une réaction instinctive sans instruction, mais l'idée de stocker un référentiel dans un blob binaire comme une base de données SQLite me terrifie. Je doute également des avantages d'inclure des wikis et des suiveurs de bogues directement dans le VCS - soit ils sont sous-présentés par rapport à des logiciels complets comme Trac, soit le VCS est massivement gonflé par rapport à Subversion ou Bazaar.

John Millikin
la source
21
SQLite n'est pas "un blob binaire". C'est un format de fichier vraiment ouvert, multiplateforme et bien documenté. Étant donné que SQLite est la base de données la plus largement utilisée, elle sera toujours prise en charge à l'avenir. Et le stockage d'artefacts utilisé dans fossile est également efficace, bien documenté et facile à lire. SQLite est l'un des plus grands projets open source d'aujourd'hui, et il est hébergé à l'aide de fossil.
A.Bouchez
3
pour un moyen rapide et facile d'interagir avec une base de données sqlite, y compris l'exportation, consultez l'extension firefox code.google.com/p/sqlite-manager
matt wilkie
8
Tous les DVCS là-bas sont des "blobs binaires" lorsque vous regardez leurs dépôts. Le dernier non-binaire était CVS ... J'avais des réserves aussi, mais je les ai surmontées.
Jürgen A. Erhard
2
"Fossil n'est pas basé sur SQLite. L'implémentation actuelle de Fossil utilise SQLite comme magasin local pour le contenu de la base de données distribuée et comme cache pour les méta-informations sur la base de données distribuée qui sont précalculées pour une présentation rapide et facile. Mais l'utilisation de SQLite dans ce rôle est un détail d'implémentation et n'est pas fondamental pour la conception. " www.sqlite.org/debug1/doc/trunk/www/theory1.wiki
Gulbahar