Fossil icon

Fossil

Fossil is a simple, high-reliability, distributed software configuration management system designed for ease of use and integration. Developed by D. Richard Hipp

License: Open Source
Available for:
Mac OS X Windows Linux Self-Hosted

About Fossil

Fossil stands out as a comprehensive software configuration management (SCM) system that incorporates several tools into a single, lightweight package. Unlike many other SCMs that require integrating separate components for features like a wiki, bug tracker, or web interface, Fossil includes these capabilities out-of-the-box. This integrated approach simplifies setup and management, making Fossil an attractive option for projects of varying sizes. Fossil is built with simplicity and reliability as core tenets. Its design minimizes complexity while ensuring data integrity, making it a robust choice for critical development work. The system utilizes a self-contained SQLite database to store all project data, including source code versions, wiki content, bug reports, and event history. This architecture contributes to Fossil's portability and ease of backup. Key strengths of Fossil include:
  • Integrated Functionality: Combines version control, a wiki, bug tracking, and a web interface into one application, reducing the need for separate tools and their associated complexities.
  • High Reliability: Designed with data integrity in mind, using a transactional database to ensure consistency and prevent data loss.
  • Simplicity and Ease of Use: Offers a straightforward command-line interface and an intuitive web UI, making it accessible to both new and experienced users.
  • Portability: The self-contained nature of Fossil's repository makes it incredibly easy to move, back up, or clone projects.
  • Distributed Architecture: Like Git, Fossil supports distributed workflows, allowing developers to work offline and synchronize changes with others.
Fossil's web interface is a powerful feature, providing a central hub for browsing the repository, viewing history, managing the wiki, creating and tracking tickets, and interacting with other project members. This built-in interface eliminates the need to set up and maintain a separate server for project collaboration and visibility. For developers seeking a reliable, integrated, and easy-to-manage SCM solution, Fossil presents a compelling alternative to more complex, multi-component systems.

Pros & Cons

Pros

  • Integrated version control, wiki, and ticketing in one application.
  • Highly portable due to single-file repository structure.
  • Focus on data integrity and reliability.
  • Easy to set up and manage with a built-in web interface.
  • Supports distributed workflows.

Cons

  • Integrated tools (wiki, ticketing) are less feature-rich than dedicated solutions.
  • Smaller ecosystem of third-party tools and integrations compared to Git.
  • Less widely adopted than Git, potentially leading to a smaller community for support.

What Makes Fossil Stand Out

All-in-One SCM

Combines version control, wiki, ticketing, and web interface into a single, integrated system, reducing complexity.

Self-Contained Repository

Project data is stored in a single SQLite file, making backups and portability exceptionally easy.

Focus on Reliability

Prioritizes data integrity and system stability through its design and use of a transactional database.

Simple to Deploy and Manage

Requires minimal setup and ongoing administration compared to systems requiring separate components.

What can Fossil do?

Review

Fossil SCM: A Comprehensive Review

Fossil is a distributed software configuration management (SCM) system that distinguishes itself by offering a tightly integrated suite of tools within a single application. Unlike more modular SCMs like Git or Mercurial which often rely on external tools for features like wikis, bug tracking, or web interfaces, Fossil includes these functionalities out-of-the-box. This integration is arguably Fossil's most significant selling point, simplifying the setup and management overhead considerably.

Core Functionality: Version Control

At its heart, Fossil provides robust version control capabilities. It supports the essential features expected of a modern SCM:
  • Committing Changes: Users can record snapshots of their project at specific points in time.
  • Branching and Merging: Facilitates parallel development streams and the integration of changes between them.
  • History Browsing: Allows users to explore the complete history of the project, view past commits, and understand how the project evolved.
  • Diffing and Blaming: Tools to compare different versions of files and identify who made specific changes are readily available.
Fossil's approach to repositories is also noteworthy. All project data, including source history, wiki pages, and ticket information, is stored within a single SQLite database file. This design makes repositories incredibly portable – a single file contains everything needed for a project. Backing up a Fossil repository is as simple as copying this database file.

Integrated Collaboration Tools

Beyond core version control, Fossil's strength lies in its integrated tools:

Built-in Wiki

The included wiki is directly versioned within the Fossil repository. This means wiki history is tracked alongside code history, providing a unified view of project evolution. The wiki editor is functional, supporting basic formatting, and the integration simplifies documentation compared to maintaining a separate wiki system.

Integrated Bug Tracking (Ticketing)

Fossil includes a basic but effective ticketing system. Users can create, track, and manage issues directly within the Fossil interface. Tickets are also versioned, allowing for historical tracking of issue resolution. While not as feature-rich as dedicated issue trackers like Jira or Redmine, it is perfectly adequate for many smaller to medium-sized projects or teams that prefer an integrated solution.

Web Interface

Fossil comes with a built-in web server. Simply running the Fossil executable with the appropriate command launches a web interface for the repository. This interface provides a comprehensive view of the project:
  • Browsing source code history and viewing diffs.
  • Accessing and editing the project wiki.
  • Managing and viewing tickets.
  • Exploring project timelines and activity.
  • User management and repository administration.
This integrated web interface eliminates the need to set up a separate web server and frontend for project visibility, making Fossil very easy to deploy and access.

Reliability and Design Philosophy

Fossil is designed with reliability as a primary goal. The use of a transactional SQLite database ensures atomicity of operations, meaning commits and other changes either complete successfully or are rolled back, preventing repository corruption. This focus on data integrity provides confidence in using Fossil for critical projects.

Ease of Use and Portability

Fossil aims for simplicity. Its command-line interface is consistent and generally easy to learn. The web interface is intuitive and provides a good overview of the project. The single-file repository structure is also a major advantage for portability; distributing a project is as easy as sharing the repository file.

Comparison with Other SCMs

Compared to Git, Fossil is often seen as having a simpler command-line interface for basic tasks and a more naturally integrated collection of tools. While Git is incredibly powerful and has a vast ecosystem of third-party tools, Fossil's strength lies in its self-contained nature. Compared to Subversion (SVN), Fossil's distributed nature offers the benefits of offline work and easier branching/merging. The integrated tools also provide a significant advantage over SVN's typically isolated components.

Limitations

While Fossil is a strong contender, particularly for projects valuing integration and simplicity, it does have some limitations. The issue tracking and wiki, while functional, are not as feature-rich or customizable as dedicated platforms. The ecosystem of third-party tools and integrations is also smaller compared to giants like Git.

Conclusion

Fossil is an excellent SCM solution for teams and projects that value simplicity, reliability, and integrated tools. Its all-in-one approach significantly reduces the overhead of setting up and managing separate systems for version control, documentation, and issue tracking. The portability of its single-file repositories is also a major advantage. For projects where the built-in wiki and ticketing are sufficient, and ease of deployment and management are priorities, Fossil is a highly recommended and often overlooked option.

Similar Software

Bazaar
Bazaar

Bazaar is a version control system that helps you track project history over time and to collaborate easily with others.

Flyspray
Flyspray

Flyspray is a lightweight, web-based bug tracking system written in PHP for assisting with software development and project managements.

Git
Git

Git is a code version control system for keeping track of changes in code.

Mercurial SCM
Mercurial SCM

Mercurial is a free, distributed source control management tool.

Git for Windows
Git for Windows

Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows.

Perforce
Perforce

Perforce provides version control software, web-based repository management, developer collaboration, application lifecycle management and Agile planning software.

Springloops
Springloops

Springloops is a web-based Git and Subversion version control and hosting service with integrated deploy and code collaboration features for web and software developers.

Apache Subversion
Apache Subversion

Apache Subversion (SVN) is a software versioning and revision control system distributed as open source under the Apache License.

The Bug Genie
The Bug Genie

The Bug Genie is free and open source, web-based project management and bug tracking system.

Trac
Trac

Trac is an open source, Web-based project management and bug tracking system.

Help others by voting if you like this software.

Compare with Similar Apps

Select any similar app below to compare it with Fossil side by side.

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare

Compare features, pricing, and reviews between these alternatives.

Compare