Zum Inhalt springen

Fossil (Software)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 10. März 2025 um 11:46 Uhr durch imported>Peb99 (growthexperiments-addlink-summary-summary:2|0|0).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Fossil

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler D. Richard Hipp u. a.
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem unixartige Systeme (Linux, OpenBSD, macOS), Microsoft Windows
Programmier­sprache C
Kategorie Programmierung
Lizenz BSD-Lizenz
deutschsprachig ja
https://fossil-scm.org/

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

Eigenschaften

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 einen eindeutigen Hashwert (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 Hashwert eindeutig erkenn- und versionierbar. Allerdings ist – genauso wie bei den anderen verteilten Versionsverwaltungen – ein zentraler Server möglich, um über diesen die einzelnen Versionen zu synchronisieren. Auch Branches, Tags und Mergen beherrscht Fossil.

Aufbau

Ein Fossilrepository besteht aus einer einzigen Datei, die mittels des Programms fossil auch über den darin enthaltenen Webserver genutzt werden kann. Fossil geht über ein reines SCM hinaus, es enthält zusätzlich Funktionen, die sonst aus integrierten Plattformen wie GitHub und Bitbucket bekannt sind:

Besondere Vorteile ergeben sich aus der Integration dieser drei Funktionen und dem Zusammenfassen derer Daten mit den Source-Code Revisionen zu einem Projekt in einer einzigen Datei.

  • Es müssen nicht mehrere verschiedene System aufeinander abgestimmt und miteinander verbunden werden.
  • Ein „Umziehen“ auf einen anderen Rechner bedeutet lediglich das Verschieben einer einzigen Datei.
  • Nicht nur auf den Quellcode des Projekts (wie bei den anderen verteilten Versionsverwaltungen), sondern auch auf Wiki, Bugtracker und Forum 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 den Vorteil eines komplett dokumentierten Speicherformats sowie der vollständigen Erfüllung der ACID-Kriterien.

Kompatibilität mit Git

Ein vollständiger Im- und Export eines Repositorys mitsamt seinem Verlauf von und nach Git ist vorhanden und – ab Fossil 2.9 – auch automatisierbar.<ref>Fossil / Import And Export. Abgerufen am 2. Dezember 2019.</ref> Dies gilt allerdings nicht für Wiki und Bugtracking; hier wäre ein Export durch Zugriff auf die SQLite-Datenbank möglich.

Verbreitung

Folgende große Projekte verwenden Fossil:

Weblinks

Einzelnachweise

<references />