Skip to main content
Mesa repositories speak standard Git over HTTPS. Any Git client — the git CLI, libgit2, JGit, CI runners — can clone, fetch, and push without modification. Under the hood, Mesa’s version control is based on Jujutsu, but the Git transport layer handles the translation transparently.

Quick start

Authenticate with your Mesa API key via HTTP Basic auth:
git clone https://t:${MESA_API_KEY}@api.mesa.dev/acme/my-repo.git
Push requires a key with write scope. Clone and fetch only need read.

What’s supported

  • Clone, fetch, and push over the Git HTTP smart protocol
  • Branch operations — create, update, delete, and force-push
  • Signed commits — GPG signatures round-trip with stable OIDs
  • Incremental fetch — multi-ack negotiation for efficient pulls
Tags are not supported. Use bookmarks instead.

How Git maps to Mesa

When you push to Mesa, Git commits become Mesa changes and branch refs become bookmarks. When you clone or fetch, Mesa translates them back. Your Git client sees a normal repository.
GitMesa
CommitChange
BranchBookmark
Staging area— (edits go directly to the working change)
See Versioning for the full picture.

Next steps

  • Git Server Reference — endpoints, authentication, capabilities, limits, credential helpers, and CI/CD examples
  • Large Files — guidance for large repositories and files
  • GitHub Sync — bidirectional sync with GitHub