Migrations Interfaces
Complete migrations were introduced in Gitea 1.9.0. It defines two interfaces to support migrating repository data from other git host platforms to Gitea or, in the future, migrating Gitea data to other git host platforms.
Currently, migrations from Github, Gitlab, and other Gitea instances are implemented.
First of all, Gitea defines some standard objects in packages modules/migrations/base.
They are Repository
, Milestone
, Release
, ReleaseAsset
, Label
, Issue
, Comment
, PullRequest
, Reaction
, Review
, ReviewComment
.
Downloader Interfaces
To migrate from a new git host platform, there are two steps to be updated.
- You should implement a
Downloader
which will be used to get repository information. - You should implement a
DownloaderFactory
which will be used to detect if the URL matches and create the aboveDownloader
.- You’ll need to register the
DownloaderFactory
viaRegisterDownloaderFactory
oninit()
.
- You’ll need to register the
You can find these interfaces in downloader.go.
Uploader Interface
Currently, only a GiteaLocalUploader
is implemented, so we only save downloaded data via this Uploader
to the local Gitea instance. Other uploaders are not supported at this time.
You can find these interfaces in uploader.go.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论