- **Installation**: includes how to install Gitea and related other tools, also includes upgrade Gitea - **Administration**: includes how to configure Gitea, customize Gitea and manage Gitea instance out of Gitea admin UI - **Usage**: includes how to use Gitea's functionalities. A sub documentation is about packages, in future we could also include CI/CD and others. - **Development**: includes how to integrate with Gitea's API, how to develop new features within Gitea - **Contributing**: includes how to contribute code to Gitea repositories. After this is merged, I think we can have a sub-documentation of `Usage` part named `Actions` to describe how to use Gitea actions --------- Co-authored-by: John Olheiser <john.olheiser@gmail.com>
1.7 KiB
date, title, slug, weight, toc, draft, menu
| date | title | slug | weight | toc | draft | menu | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2019-04-15T17:29:00+08:00 | Migrations Interfaces | migrations-interfaces | 30 | false | false |
|
Migration Features
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/migration.
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
Downloaderwhich will be used to get repository information. - You should implement a
DownloaderFactorywhich will be used to detect if the URL matches and create the aboveDownloader.- You'll need to register the
DownloaderFactoryviaRegisterDownloaderFactoryoninit().
- 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.