Fossil Cheat Sheet
A quick reference for working with Fossil repositories on Isurus. Create a repository with the VCS type set to Fossil, then use the standard fossil client (Fossil ≥ 2.26 recommended).
Fossil differs from Git and Mercurial in two ways worth knowing up front:
- A Fossil repository is a single
.fossilfile. You clone that file, thenfossil opena working check-out from it. - Isurus serves Fossil over both HTTP and SSH. Over HTTP you authenticate with the
--httpauthflag; over SSH you authenticate with an SSH key (Settings → SSH Keys) — no--httpauthneeded.
Fossil calls a commit a check-in.
Getting Started
Clone a Repository
Copy the exact URL from the repository's Clone widget. The general shapes:
# Public repository
fossil clone https://your-isurus-instance/org/repo repo.fossil
# Private repository — authenticate with your username/token
fossil clone --httpauth <user>:<token> https://your-isurus-instance/org/repo repo.fossil
This writes a single-file repository, repo.fossil.
Clone over SSH
Isurus also serves Fossil over SSH, authenticated by your SSH key (add one under Settings → SSH Keys) — no --httpauth is required:
# Over SSH — authenticate with your SSH key
fossil clone ssh://hg@your-isurus-instance:2222/org/repo repo.fossil
fossil open repo.fossil
The hg@ login name in the SSH URL is not significant — Isurus authenticates by SSH key, not by that name. Copy the exact URL from the repository's Clone widget.
Fossil does not accept
user:pass@hostin the URL against Isurus — over HTTP, use the--httpauth <user>:<token>flag. The<token>may be your account password or an API token. Create a token under Settings → Tokens or a repository's Settings → Integration → Tokens; scope itrepo:readto clone/pull andrepo:writeto push. SSO (SAML/OIDC) users have no account password and must use a token.
Open a Working Check-Out
mkdir repo && cd repo
fossil open ../repo.fossil
Configure Your Identity
Fossil records the local USER on check-ins. To set an explicit author:
fossil user default <your-name>
# or override per check-in with: fossil commit --user-override <name> ...
Daily Workflow
Check Status
# Changes in the working check-out
fossil status
# Files not yet under management
fossil extras
Add Files and Check In
# Start managing a file
fossil add path/to/file.go
# Check in (commit) with a message
fossil commit -m "Add new feature"
Sync, Pull, and Push
Fossil remembers the remote it was cloned from, so from an open check-out:
# Push local check-ins to Isurus
fossil push
# Pull remote check-ins
fossil pull
# Two-way sync (pull + push)
fossil sync
# Update the working check-out to the latest tip
fossil update
For a private repository, add --httpauth <user>:<token> (and the repo URL) if Fossil prompts for credentials:
fossil push --httpauth <user>:<token> https://your-isurus-instance/org/repo
Branches
Fossil branches are created at check-in time:
# List branches
fossil branch list
# Start a new branch with your next check-in
fossil commit --branch my-feature -m "Begin feature work"
# Switch the working check-out to a branch
fossil update my-feature
# Show the current check-out's branch and status
fossil status
Tags
# Tag the current check-in
fossil tag add v1.0.0 current
# Tag a specific check-in
fossil tag add v1.0.0 <check-in-hash>
# List tags
fossil tag list
Pushing a tagged check-in triggers a tag/release pipeline in CI.
History
# Timeline of recent check-ins
fossil timeline
# Details for a specific check-in
fossil info <check-in-hash>
# Show the diff of the working check-out
fossil diff
# Blame a file
fossil blame path/to/file.go
Pull Request Workflow
Isurus pull requests for Fossil repositories are branch based: you push a branch, then open a PR to merge it into the repository's mainline branch (typically trunk).
# 1. Clone and open a check-out
fossil clone --httpauth <user>:<token> https://your-isurus-instance/org/repo repo.fossil
mkdir repo && cd repo
fossil open ../repo.fossil
# 2. Start a feature branch with your first check-in
fossil commit --branch add-search-api -m "Add search endpoint to API"
# 3. Continue working and check in as needed
fossil commit -m "Add search tests"
# 4. Push the branch to Isurus
fossil push
# 5. Open a Pull Request on the Isurus web UI:
# Repository > Pull Requests > New Pull Request
# (source = add-search-api, target = trunk)
To address review feedback, check in more changes on the same branch and fossil push again — the PR updates automatically.
See Pull Requests for the review, merge, and issue-linking flow (identical across all VCS types).
Browsing Locally
Fossil ships its own local web UI, handy for exploring a check-out offline:
fossil ui
This opens a browser against the local .fossil file. It is entirely separate from your Isurus instance — Isurus remains the source of truth you push to.
CI/CD
A fossil push triggers CI exactly like any other backend. Commit a .isurus-ci.yml to the repository root; pushes and tags fire pipelines. See the CI/CD Guide.