Fossil (Software)
Fossil
| |
---|---|
Basisdaten
| |
Entwickler | D. Richard Hipp u. a. |
Erscheinungsjahr | 2006 |
Aktuelle Version | 2.24[1][2] (24. April 2024) |
Betriebssystem | unixartige Systeme (Linux, OpenBSD, macOS), Microsoft Windows |
Programmiersprache | C |
Kategorie | Programmierung |
Lizenz | BSD-Lizenz |
deutschsprachig | nein |
https://fossil-scm.org/ |
Fossil ist ein freies verteiltes System zur Versionsverwaltung (SCM) von Software ähnlich Bazaar, BitKeeper, Git, Mercurial und Monotone.
Eigenschaften
[Bearbeiten | Quelltext 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 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
[Bearbeiten | Quelltext bearbeiten]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:
- Integriertes Wiki
- Integriertes Forum
- Integrierter Bugtracker
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
[Bearbeiten | Quelltext bearbeiten]Ein vollständiger Im- und Export eines Repositorys mitsamt seinem Verlauf von und nach Git ist vorhanden und – ab Fossil 2.9 – auch automatisierbar.[3] Dies gilt allerdings nicht für Wiki und Bugtracking; hier wäre ein Export durch Zugriff auf die SQLite-Datenbank möglich.
Verbreitung
[Bearbeiten | Quelltext bearbeiten]Folgende große Projekte verwenden Fossil:
Weblinks
[Bearbeiten | Quelltext bearbeiten]Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ fossil-scm.org.
- ↑ Fossil: Change Log.
- ↑ Fossil / Import And Export. Abgerufen am 2. Dezember 2019.