2012-04-02 2 views
11

Neuling zu Fossil (oder jedem anderen Versionskontrollsystem) hier. Benutzte einen proprietären früher, aber nie selbst einen.Zögern zwischen Git und Fossil

Momentan suche ich nach einem, damit meine Freunde und ich es für ein Projekt verwenden können.

Ich wählte Fossil hauptsächlich, weil verteilt scheint der Weg zu gehen, es scheint leicht und hat einen enthaltenen Bugtracker. Aber Git scheint für viele Leute der bevorzugte SCM zu sein. Ist es die zusätzliche Komplexität wert, Git + someBugTracker gegenüber Fossil zu bevorzugen? Gibt es bessere Alternativen? Ich muss bei 0 anfangen.

Antwort

14

Nur ein paar Gedanken, nicht organisiert.

Wenn Ihre Freunde bereits daran gewöhnt sind, Git ist eine gute und robuste verteilte SCM, mit großartigen Hosting-Dienste zur Verfügung, wie Github oder Gitorious.

Obwohl Git-Konzepte nicht leicht zu verstehen sind. Fossil hat ähnliche Konzepte, ist aber wahrscheinlich einfacher zu starten (kein Staging-Bereich, kein Konzept des Index, Änderungen seit dem letzten Festschreiben mit revert nicht reset oder checkout, etc.). Es gibt keine Fülle von Unterbefehlen mit Plethoras von Optionen, Hilfe ist knapp und klar. Wenn Sie Angst haben, dass Sie verloren gehen, wählen Sie fossil. Das bedeutet natürlich auch, dass man mit Fossil nicht so viele Sachen machen kann wie mit Git (keine Rebasing zum Beispiel, zumindest nicht im Moment).

Für fossile gibt es few hosting online services available. Es ist so einfach wie mit Git, einen Server einzurichten, auf dem Fossil läuft.

Auch mit Fossil, die Geschichte eines Projekts ist in einer einzigen Datei gespeichert, so finde ich es wirklich einfach, alle Projekte zu sichern: Legen Sie alle Repositories in den gleichen Ordner, und machen Sie eine einzelne rsync Aufgabe. Dies macht jedoch inkrementelle Backups völlig nutzlos.

Während mit git, arbeitet an zwei Zweigen auf den gleichen Projekten in verschiedenen Ordnern bedeuten zwei Kopien der gesamten Projekt Geschichte haben würde und Niederlassungen in zwei verschiedenen .git/objects Verzeichnissen, die redundant und sehr groß sein können, mit Fossil des Standard-Arbeitsschema müssen ein einziges Repository und ein oder mehrere Arbeitsverzeichnisse haben, die damit verbunden sind. Wenn die Festplattennutzung wichtig ist, ist dies wichtig.

Warnung, Fossil Bug Tracker (Ticket-System im Jargon) und Wiki sind recht rudimentär (obwohl sie gut funktionieren).

+5

Git-Klone auf der gleichen Partition werden standardmäßig Hardlinks erstellen. Der einzige Platz, den Sie brauchen, ist für den funktionierenden Baum – knittl

+1

@Benoit. Beachten Sie, dass 'rsync'-ing Fossil Repos ein etwas naive Ansatz ist, da zum Zeitpunkt der Sicherung keine Schreibaktivität für diese Datenbankdatei ausgeführt wird. Der einzige robuste Ansatz für "Online" -Sicherungen ist die Verwendung von 'sqlite3 dump ...' und das anschließende Sichern von Dump-Dateien. Und Git ist nicht so schwer zu sichern: Sie müssen nur Git selbst verwenden, um diese Aufgabe zu erledigen. Darüber hinaus implementiert gitolite v3 eine Master/Slave-Replikation auf Pushs, wenn eine hochkarätige Lösung benötigt wird. – kostix

+0

@kostix: Leute mögen aus verschiedenen Gründen bitweise Backups machen. Obwohl ich keinen legitimen Grund sehe, bitweise ein Fossil-Repository zu sichern und keine sqlite3-Dump zu machen, werden einige Leute dagegen sein. Außerdem hat Fossil Replikation, repliziert jedoch einige Daten nicht (normalerweise die Daten, die durch "Fossil Scrub" entfernt werden). Wenn diese Daten nicht gesichert werden müssen, sollte die Replikation nur für die Sicherung ausreichen. – Benoit

Verwandte Themen