GitLab <-> Gitea import

Gitea

Gitea can import GitLab projects using the go GitLab API implementation and at the moment handles:

  • code repository
  • issues
  • pull requests (with approval)
  • milestones
  • labels
  • releases

The user doing the import owns everything: no user is created when importing issues that are not owned by the user doing the import.

GitLab

GitLab can import Gitea projects. The implementation is derived from the GitHub importer because back in 2016 Gitea planned to be GitHub compatible:

Modify GithubImport to support Gitea

The reason is that Gitea plan to be GitHub-compatible so it makes sense to just modify GitHubImport a bit for now, and hopefully we can change it to GitHubishImport once Gitea is 100%-compatible.

1 Like

The Gitea API compatibility with GitHub is still a goal of the project, as stated in the CONTRIBUTING file:

There is no API in GitHub to export a project. The import feature of GitLab is implemented by exploring the project (issues, pull requests etc.) and creating an equivalent in GitLab. Gitea is expected to provide the same API and the import uses the same logic.