Hosting Git & Fossil
Isurus is a multi-VCS forge: alongside Mercurial, it hosts Git and Fossil repositories as first-class citizens. Each repository is created with a fixed VCS type and served natively — you use the real git or fossil client, and the UI speaks each system's own vocabulary (Git branches/commits, Fossil check-ins/branches). This guide covers creating and working with Git and Fossil repositories. For day-to-day command references, see the Git Cheat Sheet and Fossil Cheat Sheet.
Choosing a VCS When You Create a Repository
- Navigate to the organization where you want the repository.
- Click New Repository.
- Enter a name, then choose the VCS type — Mercurial, Git, or Fossil.
- Set visibility (Public or Private) and an optional description, then Create Repository.
The VCS type is fixed for the life of the repository. It determines which client you clone and push with, and which native terms appear throughout the UI. Every repository page shows a Clone widget with the exact command and URL for that repository.
Git Repositories
What's Supported
- Clone / fetch / pull / push over HTTP and SSH.
- Branches, tags, and commits, browsable at any revision.
- Pull requests — push a branch, open a PR to merge it into the default branch (e.g.
main). - CI/CD — a push (including tag pushes) triggers pipelines from
.isurus-ci.yml. - Jujutsu (jj) — a
jjrepository is a Git repository on the server side, sojj gitinterop works transparently against the same URLs. There is no separate "jj" repo type.
Clone and Push
# HTTP
git clone https://your-isurus-instance/org/repo
# SSH (key-based auth)
git clone ssh://hg@your-isurus-instance:2222/org/repo
To publish an existing local repository:
git remote add origin ssh://hg@your-isurus-instance:2222/org/repo
git push -u origin HEAD
The
hg@login in the SSH URL is not significant — Isurus authenticates by SSH key. Copy the exact URL from the repository's Clone widget.
Fossil Repositories
What's Supported
- Clone / pull / push / sync over HTTP and SSH.
- Check-ins, branches, and tags, browsable at any revision.
- Pull requests — push a branch, open a PR to merge it into the mainline branch (typically
trunk). - CI/CD — a
fossil push(including tagged check-ins) triggers pipelines from.isurus-ci.yml.
Single-File Repositories
A Fossil repository is a single .fossil file. You clone that file, then open a working check-out from it:
# Public (HTTP)
fossil clone https://your-isurus-instance/org/repo repo.fossil
# Private (HTTP) — authenticate with the --httpauth flag
fossil clone --httpauth <user>:<token> https://your-isurus-instance/org/repo repo.fossil
# Over SSH — authenticate with your SSH key (no --httpauth)
fossil clone ssh://hg@your-isurus-instance:2222/org/repo repo.fossil
# Open a working check-out
mkdir repo && cd repo
fossil open ../repo.fossil
Over HTTP, authenticate with --httpauth <user>:<token> rather than embedding credentials in the URL; the <token> may be your password or an API token. Over SSH, authenticate with an SSH key (Settings → SSH Keys) — the hg@ login name in the URL is not significant, and no --httpauth is needed.
Authentication Model
| Protocol | Applies to | How you authenticate |
|---|---|---|
| SSH | Git, Mercurial, Fossil | Add an SSH key under Settings > SSH Keys; the SSH login name in the URL is ignored. Fossil uses key auth over SSH exactly as Git/Mercurial do — no --httpauth. |
| HTTP | Git, Mercurial, Fossil | Your username and password, or an API token (used in place of the password). Git/Mercurial prompt or use a credential helper; Fossil uses --httpauth <user>:<token>. Scope the token repo:read to clone/pull, repo:write to push. SSO users have no account password and must use a token. |
API tokens use granular scopes (e.g. repo:read, repo:write) and can be scoped to a user, org, or repo. Create them under Settings > Integration > Tokens. For read/write over HTTP, a token with repo:write (or repo:read for pull-only) works in place of your password.
Per-VCS Notes at a Glance
| Git | Mercurial | Fossil | |
|---|---|---|---|
| Client | git |
hg |
fossil |
| Protocols | HTTP + SSH | HTTP + SSH | HTTP + SSH |
| Native branch term | branch | bookmark / named branch | branch |
| Native commit term | commit | changeset | check-in |
| PR merges into | default branch (main) |
@ mainline bookmark |
mainline branch (trunk) |
| Repo storage | server-side repo | server-side repo | single .fossil file |
| Also serves | Jujutsu (jj) | — | — |
What's Not Supported
Isurus is a single-company forge, not a public-GitHub clone. Forking is intentionally out — pull requests are same-repository (branch/bookmark → mainline) across all three backends.
Related Guides
- Getting Started — Account setup, SSH keys, and first clone.
- Git Cheat Sheet · Mercurial Cheat Sheet · Fossil Cheat Sheet
- Pull Requests — The review and merge flow (identical across VCS types).
- CI/CD Guide — Automate builds, tests, and releases.