跳至主要内容
版本: 1.22.3

迁移接口

完整的迁移功能在 Gitea 1.9.0 中引入。它定义了两个接口,用于支持将存储库数据从其他 Git 托管平台迁移到 Gitea,或者将来将 Gitea 数据迁移到其他 Git 托管平台。

目前,已实现从 GitHub、GitLab 和其他 Gitea 实例的迁移。

首先,Gitea 在 modules/migration 包中定义了一些标准对象。它们是 RepositoryMilestoneReleaseReleaseAssetLabelIssueCommentPullRequestReactionReviewReviewComment

下载器接口

要从新的 Git 托管平台迁移,需要更新两个步骤。

  • 您应该实现一个 Downloader,它将用于获取存储库信息。
  • 您应该实现一个 DownloaderFactory,它将用于检测 URL 是否匹配并创建上述 Downloader
    • 您需要在 init() 上通过 RegisterDownloaderFactory 注册 DownloaderFactory

您可以在 downloader.go 中找到这些接口。

上传器接口

目前,只实现了 GiteaLocalUploader,因此我们仅通过此 Uploader 将下载的数据保存到本地 Gitea 实例。目前不支持其他上传器。

您可以在 uploader.go 中找到这些接口。