Fossil (Software)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Fossil
Entwickler D. Richard Hipp u. a.
Aktuelle Version 1.33
(23. Mai 2015)
Betriebssystem unix-artige Systeme (Linux, OpenBSD, Mac OS), Microsoft Windows
Programmier­sprache C
Kategorie Programmierung
Lizenz BSD-Lizenz
Deutschsprachig nein
http://www.fossil-scm.org

Fossil ist ein freies verteiltes System zur Versionsverwaltung (SCM) von Software ähnlich Bazaar, Bitkeeper (nicht frei), Git, Mercurial und Monotone.

Eigenschaften[Bearbeiten]

Der Name Fossil deutet auf ein Hauptmerkmal des Systems hin: Alle gemachten Änderungen sollen für immer zurückverfolgbar sein. Fossil nutzt keine fortlaufende Nummerierung von Versionen (wie CVS und Subversion), um Versionen zu verfolgen, sondern berechnet für jeden commit (Version, Revision, Check-in) einen Hash-Schlüssel (wie die anderen verteilten Systeme). Dies ist notwendig, da es nicht notwendigerweise ein zentrales Repository für die Versionsverwaltung gibt, sondern jeder Benutzer sein eigenes lokales Repository anlegt. Änderungen werden durch den Hash-Schlüssel eindeutig erkennbar und versionierbar. Allerdings ist - genauso wie bei den anderen verteilten Versionsverwaltungen - ein zentraler Server möglich, um über diesen die einzelnen Versionen zu synchronisieren. Branching, Tagging und Merging beherrscht Fossil genauso wie die anderen verteilten Versionsverwaltungen.

Fossil besteht aus einer einzigen ausführbaren Datei, die auch direkt als Webserver agieren kann. Dadurch ermöglicht es über ein reines SCM hinaus:

Besondere Vorteile ergeben sich aus der Integration dieser drei Funktionen und dem Zusammenfassen der Daten zu einem Projekt in einer einzigen Datei.

  • Es müssen nicht drei verschiedene System aufeinander abgestimmt und miteinander "verheiratet" werden. Demnach können auch keine Verbindungen durch Umkonfigurationen verloren gehen.
  • Ein "Umziehen" auf einen anderen Rechner bedeutet lediglich das Kopieren einer einzigen Datei.
  • Nicht nur auf den Sourcecode des Projekts (wie bei den anderen verteilten Versionsverwaltungen), sondern auch auf Wiki und Bugtracking (Ticket-System) kann offline (also ohne Verbindung zu einem zentralen Server) zugegriffen und Änderungen später wieder synchronisiert werden.

Darüber hinaus bringt die Verwendung von SQLite für die Datenspeicherung folgende Vorteile:

  • komplett dokumentiertes Speicherformat
  • vollständige Erfüllung der ACID-Kriterien

Von daher ist Fossil insbesondere für Unternehmen und Projekte zu empfehlen, wo keine große Manpower für die Pflege von Repositories, Wikis und Bugtracking-Systemen zur Verfügung steht. Ein vollständiger Im- und Export der Sourcecodeverwaltung mit Historie von und nach Git ist vorhanden. Dies gilt allerdings nicht für Wiki und Bugtracking; hier wäre ein Export durch Zugriff auf die SQLite-Datenbank möglich.

Folgende Projekte verwenden Fossil:

Weblinks[Bearbeiten]