Login

Fossil

Fossil

Anselm is developed with the Fossil source code management system. Fossil not only takes care of version control, but also serves as a VCS UI, wiki, forum, and bug tracker. This page collects general best practices for using Fossil.

Forum

Fossil's forum functionality is used in place of a mailing list. Mailing lists are difficult to view, moderate, and maintain.

Monorepo

All projects related to Anselm are stored in a monorepo. The way this works is that each individual project is given its own directory at the top level. When creating a new project, the first commit should be a branch of the initial commit which adds a readme.md file in a new top-level directory explaining a bit about what the project is. If the project depends on other projects in some way, you may branch from a later commit, but the branch should always be from trunk.

Each project should have a main branch called [project]-trunk where [project] is the name of the project and should be the same as the top level directory in which the project is stored. For instance, the Gaunilo interpreter is stored in the gaunilo directory and developed in the gaunilo-trunk branch. Never commit to trunk directly, instead merge the project's own trunk branch into trunk on e.g. releases.