All docs

Connections

Moving to Fettlecode, and taking it with you

Import repositories and open pull requests from GitHub, GitLab, Gitea, Forgejo, Gerrit or any Git host, and take everything with you when you leave.

Import a repository

Choose New repository, then under Start with pick where it's coming from:

Start withGive itBrings across
A copy of a GitHub repositoryowner/nameBranches, tags, the default branch, and open pull requests (fork ones too) as changes
A copy of a GitLab projectThe project's addressThe same, with open merge requests as changes
A copy of a Gitea or Forgejo repositoryThe repository's addressThe same, with open pull requests as changes
A copy of a Gerrit projectThe project's addressOpen changes as they are, with their Change-Ids, and every patch set as a revision
A copy from another Git hostA clone address (https://)Branches, tags and the default branch

Untick Bring open pull requests across if you only want the code. For a private repository, give a token that can read it (for GitLab, one with read_api and read_repository; for Gerrit, a username too). The token is used for the import only, then forgotten.

Imports run in the background; you're notified when one finishes. Large repositories can take a while.

Gerrit changes keep their Change-Ids, so clones people already have, with the Gerrit hook installed, keep working: just point them at Fettlecode.

GitHub Enterprise Server works too: your admin sets GITHUB_URL and GITHUB_API_URL. Imports from servers on your private network need INTEGRATIONS_ALLOW_PRIVATE=true.

Keep it in sync

Tick Keep it in sync as a read-only mirror to have Fettlecode follow the source instead of making a one-off copy. See Mirrors.

Taking it with you

Your work isn't locked in.

  • Reviews travel with the repository. Every change's revisions, approvals, comments and reviewed marks are kept in the repository itself, at refs/meta/fettlecode, with every revision's code reachable from it. Fetch it with:
git fetch origin refs/meta/fettlecode:refs/meta/fettlecode
  • Push mirrors carry it, so a mirror on another server has the review history too.
  • Everything else (settings, branch rules, access, releases, webhooks, check results and the audit log) can be downloaded as JSON by a repository admin, from Settings → Take it with you.