Was halten die Leute von dem fossilen DVCS? [geschlossen]

124

fossil http://www.fossil-scm.org
Ich habe dies kürzlich gefunden und habe damit begonnen, es für meine Heimprojekte zu verwenden. Ich möchte hören, was andere über dieses VCS denken.

Was mir fehlt, ist die IDE-Unterstützung. Hoffentlich kommt es, aber ich benutze die Kommandozeile ganz gut.

Meine Lieblingssachen über Fossil: einzelne ausführbare Datei mit integriertem Webserver-Wiki und Fehlerverfolgung. Das Repository ist nur eine SQLite- Datenbankdatei ( http://www.sqlite.org ), auf der Backups einfach durchgeführt werden können. Ich mag auch, dass ich Fossil ausführen und das Repository auf meinem USB-Stick behalten kann. Dies bedeutet, dass meine Softwareentwicklung vollständig portabel geworden ist.

Sag mir was du denkst....

SpeerBCD
quelle
Das sieht wirklich interessant aus. Wissen Sie, ob es ein Werkzeug gibt, mit dem Sie zu / von git, mercurial oder svn schieben / ziehen können?
Thilo
Ich habe einen Link im fossilen Wiki gefunden. Ich habe mir das nicht wirklich angesehen. Jemand, der diese Funktion benötigt, werfen Sie einen Blick darauf und kommentieren Sie: < fossil-scm.org/index.html/wiki?name=Import+CVS+Repositories >
javelinBCD
Diese URL wurde geändert in: fossil-scm.org/fossil/wiki?name=Import+CVS+Repositories
Mike DeSimone
3
Fossil hat GIT Import und Export hinzugefügt ... fossil-scm.org/index.html/doc/trunk/www/inout.wiki
javelinBCD
@javelinBCD: FYI Git ist kein Akronym
Fehler

Antworten:

182

Herr Millikin, wenn Sie sich einen Moment Zeit nehmen, um einige der Unterlagen zu Fossilien zu lesen, werden Ihre Einwände dort angesprochen. Das Speichern eines Repositorys in einer sQLite-Datenbank ist wohl sicherer als jeder andere Ansatz. Im Linktext finden Sie einige der Vorteile der Verwendung einer Transaktionsdatenbank zum Speichern eines Repositorys. Was das Aufblähen betrifft: Das Ganze befindet sich in einer einzigen in sich geschlossenen ausführbaren Datei, die diese Besorgnis zu widerlegen scheint.

Vollständige Offenlegung: Ich bin der Autor von Fossilien.

Beachten Sie, dass ich Fossil geschrieben habe, weil kein anderes DVCS meine Anforderungen erfüllt hat. Andererseits sind meine Bedürfnisse nicht Ihre Bedürfnisse und so können nur Sie beurteilen, ob Fossil für Sie richtig ist oder nicht. Aber ich ermutige Sie, sich zumindest die Dokumentation anzusehen und zu versuchen, das Problem zu verstehen, das Fossil zu lösen versucht, bevor Sie es ablehnen.


quelle
43
Fossil sieht gut aus, gute Arbeit.
Greg Hewgill
7
Zu den Funktionen von fossil, die man mit anderen DVCS nicht bekommt, gehören: - Integriertes Wiki. - Integrierte Fehlerverfolgung - Unveränderliche Artefakte - In sich geschlossene, eigenständige ausführbare Datei, die in einem Chroot-Gefängnis ausgeführt werden kann - Einfaches,
klar
71
Vollständige Offenlegung: Er ist auch der Autor von SQLite;)
Alan Plum
18
+1 für diesen Teil Ihrer Antwort: "Andererseits sind meine Bedürfnisse nicht Ihre Bedürfnisse, und so können nur Sie beurteilen, ob Fossil für Sie richtig ist oder nicht." Ich hatte ein Problem mit dem Qualitätsmanagement und sie definierten Qualität als "Angemessenheit an den Zweck". Ihre Antwort zeigt genau in die gleiche Richtung!
Sergiol
1
@pluma, ich begann mich für Fossil zu interessieren, seit ich hörte, dass es vom Entwickler von Sqlite, Mr. D Richard Hipp, hergestellt wurde :) Auch wenn ich es nicht benutzt habe, kann ich mir vorstellen, dass es leicht und robust ist.
Edwin Yip
47

Nachdem ich Fossil seit mehr als einem Jahr für nicht triviale Entwicklungsprojekte verwendet habe, bin ich zuversichtlich genug, mich mit diesem Thema zu befassen.

Nachfolgend meine bisherigen Erfahrungen. Ich vergleiche manchmal mit git und svn, einfach weil ich diese SCMs sehr gut kenne und das Vergleichen es mir leichter macht, die Idee zu vermitteln.

Ich bin total verliebt in dieses SCM, also sind es hauptsächlich Punkte auf der Pluss-Seite.

Was ich an Fossil mag:

1) Wir haben eine Reihe von Maschinen (win / mac / eine Reihe von Linux-Distributionen), und die Installation mit einer einzelnen ausführbaren Datei ist genauso schön, wie es sich anhört. Keine Abhängigkeiten; es funktioniert einfach. Git ist ein chaotischer Stapel von Dateien und die Abhängigkeitshölle in Subversion macht es auf einigen Linux-Distributionen sehr unangenehm, besonders wenn Sie es selbst erstellen müssen.

2) Der Standard-Fossil-Workflow passt perfekt zu unseren Projekten, und bei Bedarf sind weitere git'ish-Workflows möglich.

3) Wir haben festgestellt, dass es selbst bei großen Projekten äußerst robust ist. Ich würde nichts anderes von den Leuten erwarten, die SQLite geschrieben haben. Keine Abstürze, keine Korruption, keine lustigen Geschäfte.

4) Ich bin eigentlich sehr, sehr zufrieden mit der Leistung. Nicht so schnell wie Schwachkopf auf riesigen Bäumen, aber auch nicht viel langsamer. Ich mache jede verlorene Zeit wieder gut, indem ich nicht bei jedem anderen Befehl die Dokumentation konsultieren muss, wie es bei git der Fall ist.

5) Die Tatsache, dass sich hinter jeder Operation eine bewährte Transaktionsdatenbank befindet, lässt mich nachts besser schlafen. Ja, wir haben mehr als einen schrecklichen Vorfall mit veralteten und korrupten Subversion-Repositories durchgemacht (zum Glück hat uns eine hilfreiche Community dabei geholfen, diese Probleme zu beheben.) Ich kann mir nicht vorstellen, dass dies in Fossil passiert. Sogar Subversion 1.7.x verwendet Sqlite jetzt für die Speicherung von Metadaten. (Versuchen Sie, die Stromversorgung mitten in einem Git-Commit auszuschalten - es entstehen korrupte Repos!)

6) Der integrierte Issue Tracker und das Wiki sind natürlich optional, aber sehr praktisch, da sie immer vorhanden sind - keine Installation erforderlich. Ich wünschte, der Issue-Tracker hätte noch mehr Funktionen, aber hey - es ist ein SCM.

7) Der eingebaute Server und die Web-GUI sind einfach brillant und über CSS gut konfigurierbar.

8) Manchmal müssen wir in und aus Git- und Subversion-Repositorys importieren. Dies ist ein Kinderspiel in Fossil.

9) Single File Respository. Keine '.svn'-Verzeichnisse überall.

Was ich an Fossil vermisse / nicht mag:

1) Jemand schreibt bitte TortoiseFossil für unsere nicht technischen Windows-Benutzer :)

2) Die Community ist noch nicht so groß, daher ist es für viele Leute wahrscheinlich schwierig, sie in ihrem Unternehmen einzuführen. Hoffentlich wird sich dies ändern und alle Vorteile einer großen Community nutzen (Dokumentation, mehr Testen neuer Releases usw.)

3) Ich wünschte, die lokale Web-Benutzeroberfläche hätte eine Suchfunktion (einschließlich der Suche nach Dateiinhalten).

4) Weniger Zusammenführungsoptionen als in git (obwohl der Fossil-Workflow das Zusammenführen weniger wahrscheinlich macht).

Ich hoffe, jeder gibt Fossil einen Lauf - die Welt ist ein besserer Ort mit Dingen, die einfach funktionieren und für deren Verwendung Sie kein Raketenwissenschaftler sein müssen.

Grand Johnson
quelle
2
Ich habe vergessen zu erwähnen, dass TortoiseFossil wahrscheinlich eines Tages kommt, aber im Moment haben wir code.google.com/p/fuel-scm .
Grand Johnson
3
Es gibt 'SharpFossil' / 'WinFossil': repository.mobile-developers.de/cgi-bin/ikoch/sharpfossil/…
cmroanirgo
2
Es gibt ein Rezept, um ein Ticket-Suchfeld hinzuzufügen , das wirklich gut funktioniert. Es nutzt die TH1-
Skriptmöglichkeiten
Das Kraftstoff-scm-Tool wurde auf kraftstoff-scm.org/fossil/index verschoben . Ein anderer Ansatz besteht darin, die Visual Studio-IDE zu nutzen, wenn sie für ein Windows-Projekt verwendet wird. Siehe Dokumentation unter fossil-scm.org/xfer/doc/trunk/www/fossil-from-msvc.wiki
g5thomas
Nur neugierig: Hat sich in den letzten Jahren etwas geändert?
16.
14

Fossil ist klein, einfach, aber mächtig und robust, erinnert mich an einige Prinzipien der C-Kultur. Sympathisch für diejenigen, die sich unabhängig entwickeln und trotzdem zusammenarbeiten. Jedes großartige Projekt sollte mit Prinzipien beginnen und diese im Kern fortsetzen, wenn mehr Ebenen (GUI, zusätzliche Funktionen) gesammelt werden.

Ich bin beeindruckt von Fossil und beginne zu verwenden ... werfen Sie einen Blick auf Fossil

Prost

Vijiboy
quelle
11

Ich lande auf dieser Seite nach einem Jahr des letzten Beitrags. Das hier erwähnte rekursive Hinzufügen ist nun erledigt.

Fossil fasziniert mich mit Einfachheit, besonders nachdem ich mich bemüht hatte, ein Bug-Tracking-System für die Arbeit mit Quecksilber zu entwickeln. Ich muss sehen, wie man mehrere Projekte verwaltet, die Repositorys für den Mehrbenutzerzugriff veröffentlicht und wie man Zusammenführungen durchführt, Patches verwaltet usw. Ich habe das Gefühl, dass es in Zukunft nicht enttäuschend sein wird.

rawjeev
quelle
7

Ich bin nicht daran interessiert, es für die Versionskontrolle des Quellcodes zu verwenden, aber ich bin an einem verteilten, versionierten persönlichen Wiki interessiert, das ich zwischen allen von mir verwendeten Computern synchronisieren kann.

Kristopher Johnson
quelle
4

Damian,

1 / Ja, Fossil unterstützt kein rekursives Hinzufügen. Es gibt jedoch einige ziemlich einfache Problemumgehungen wie

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

unter Windows und

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

unter Unix.

2 / Ich habe die Meldung über ein fehlerhaftes Manifest gesehen, als Sie eine Datei mit Nicht-ASCII-Zeichen im Dateinamen hinzugefügt haben. Das Problem wurde im letzten Build behoben.

Grüße, Petr


quelle
2
Sie können PowerShell jederzeit unter Windows verwenden, wodurch diese Art der Befehlszeilenarbeit viel angenehmer wird.
SpeerBCD
14
Unter Linux / Unix / Mac OS XI muss nur "fossil add" hinzugefügt werden. und es fügt alles hinzu, alle meine Unterverzeichnisse und alles
Trausti Thor
2
'fossil addremove' ist auch auf allen Plattformen vollständig rekursiv. Der obige Beitrag ist höchstwahrscheinlich veraltet.
FvD
1
Ja, dieser Beitrag ist veraltet
Johannes Kuhn
3

Ich finde Fossilien wirklich cool. Das wichtigste Merkmal für mich war die einfache Installation und die entwicklerfreundlichen Standardeinstellungen. Ich verwende es derzeit, um die lokalen Änderungen meiner Dateien zu verfolgen. (Unser Projekt wird in SourceForge gehostet und in CVS nachverfolgt.) Auf diese Weise kann ich lokal "festschreiben", auch wenn das Projekt sonst beschädigt würde, sodass auch kleinere Änderungen nachverfolgt werden können.

zslevi
quelle
1

Fossil ist gut. Es ist einfach und leicht zu bedienen. Wenn fossil eine GUI-Schnittstelle zum Ein- und Auschecken bereitstellen kann, ist dies besser (bevorzugen Sie Java-GUI, um die plattformübergreifende GUI zu archivieren).

Die Hauptvorteile von Fossil sind "Open Source" und "SQLite-Datenbank verwenden", sodass jemand fossilen Quellcode kompilieren kann, damit Fossilien auf der Google Android-Plattform (Mobil- und Tablet-Geräte) funktionieren.

vgps
quelle
0

Ich versuche gerade deine VCS. Ich mag die Idee, alles integriert zu haben. Immerhin ist alles, was ich will, wenn ich nach einem System wie diesem suche. Ich bin ein aktiver Benutzer von Mercurial. Und ich konnte keine Integration mit einem Issue-Tracker finden (ich versuche in der Vergangenheit erfolglos, p Trac mit mercurial zu setzen). Nach einigen Tests stelle ich fest, dass: 1) der Befehl "add" nicht rekursiv ist oder ich im Dokument keine Möglichkeit finde, dies zu tun. 2) Ich schreibe einen Bat (ich arbeite mit Windows), um 750 Dateien hinzuzufügen, und führe ihn aus (Es hat eine Weile gedauert). Wenn ein Run-Commit ausgeführt wird, springt er mit "Manifest fehlerhaft".

Ich denke, Sie könnten dieses Problem lösen und andere, die eine Umfrage wie die des Mercurial unter https://www.mercurial-scm.org/wiki/UserSurvey durchführen . Sie könnten mir bei dnoseda bei Google Mail schreiben

Ich interessiere mich für Ihre Arbeit. verbessern Sie es weiter.

Grüße

ps.: als Bürgermeisterverbesserung könnte man so etwas wie gitstat hinzufügen

user2427
quelle
3
(Ich bin kein Fossil-Entwickler - nur ein Benutzer) 1. Es hat einen Issue-Tracker (es ist selbsthostend) 2. Der Fossil-Add-Ordner ist rekursiv (ignoriert Dateien / Ordner mit dem führenden '.'). Ich habe ihn letzte Nacht verwendet, um ihn zu erstellen Ein lokales fossiles Repo des Subversion- Trunks plt-scheme.org ohne Probleme 3. Die Mailingliste ist aktiv und der Entwickler reagiert sehr schnell - und scheint im Moment nicht überfüllt zu sein. Es gibt auch den Issue-Tracker, den ich nicht verwenden musste, da Fossil für mich fehlerfrei war.
Stephen
1
Fogbugz (Bug Tracking) arbeitet mit Kiln (einem Online-Repostitory für Mercurial) zusammen, die beide von Fogcreek
Toby Allen am
-9

Vielleicht eine ungebildete Knie-Ruck-Reaktion, aber die Idee, ein Repository in einem binären Blob wie einer SQLite-Datenbank zu speichern, macht mir Angst. Ich bin auch zweifelhaft, welche Vorteile es hat, Wikis und Bug-Tracker direkt in das VCS aufzunehmen - entweder sind sie im Vergleich zu vollständiger Software wie Trac unterfunktioniert, oder das VCS ist im Vergleich zu Subversion oder Bazaar massiv aufgebläht.

John Millikin
quelle
21
SQLite ist kein "binärer Blob". Es ist ein wirklich geöffnetes Dateiformat, plattformübergreifend und gut dokumentiert. Da SQLite die am häufigsten verwendete Datenbank ist, werden sie in Zukunft immer unterstützt. Der in Fossilien verwendete Artefaktspeicher ist effizient, gut dokumentiert und leicht zu lesen. SQLite ist heute eines der größten Open Source-Projekte und wird mit Fossil gehostet.
A.Bouchez
3
Eine schnelle und einfache Möglichkeit zur Interaktion mit einer SQLite-
Datenbank
8
Alle DVCSes da draußen sind "binäre Blobs", wenn man sich ihre Repos ansieht. Das letzte nicht-binäre war CVS ... Ich hatte auch Vorbehalte, bin aber darüber hinweggekommen.
Jürgen A. Erhard
2
"Fossil basiert nicht auf SQLite. Die aktuelle Implementierung von Fossil verwendet SQLite als lokalen Speicher für den Inhalt der verteilten Datenbank und als Cache für Metainformationen über die verteilte Datenbank, die für eine schnelle und einfache Darstellung vorberechnet werden. Aber die Verwendung von SQLite in dieser Rolle ist ein Implementierungsdetail und nicht grundlegend für das Design. " www.sqlite.org/debug1/doc/trunk/www/theory1.wiki
Gulbahar