aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-01-31 06:01:32 +0100
committerGitHub <noreply@github.com>2020-01-31 07:01:32 +0200
commit159732dcb7420699245ef8410fff22002653d5b0 (patch)
tree1a92c215885bc130704218f14d0a056552e95e8e
parent6bb0f2045633e297b07464217434a51c1300ce13 (diff)
downloadgitea-159732dcb7420699245ef8410fff22002653d5b0.tar.gz
gitea-159732dcb7420699245ef8410fff22002653d5b0.zip
update (#10079)
-rw-r--r--docs/content/doc/advanced/migrations.en-us.md34
1 files changed, 20 insertions, 14 deletions
diff --git a/docs/content/doc/advanced/migrations.en-us.md b/docs/content/doc/advanced/migrations.en-us.md
index 0d9d8b49a7..2097dbbf66 100644
--- a/docs/content/doc/advanced/migrations.en-us.md
+++ b/docs/content/doc/advanced/migrations.en-us.md
@@ -15,32 +15,34 @@ menu:
# Migration Features
-The new migration features were introduced in Gitea 1.9.0. It defines two interfaces to support migrating
-repositories data from other git host platforms to gitea or, in the future migrating gitea data to other
+The new migration features were introduced in Gitea 1.9.0. It defines two interfaces to support migrating
+repositories data from other git host platforms to gitea or, in the future migrating gitea data to other
git host platforms. Currently, only the migrations from github via APIv3 to Gitea is implemented.
First of all, Gitea defines some standard objects in packages `modules/migrations/base`. They are
- `Repository`, `Milestone`, `Release`, `Label`, `Issue`, `Comment`, `PullRequest`.
+ `Repository`, `Milestone`, `Release`, `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 get all kinds of repository informations.
-- You should implement a `DownloaderFactory` which is used to detect if the URL matches and
+- You should implement a `DownloaderFactory` which is used to detect if the URL matches and
create a Downloader.
- You'll need to register the `DownloaderFactory` via `RegisterDownloaderFactory` on init.
```Go
type Downloader interface {
+ SetContext(context.Context)
GetRepoInfo() (*Repository, error)
GetTopics() ([]string, error)
GetMilestones() ([]*Milestone, error)
GetReleases() ([]*Release, error)
GetLabels() ([]*Label, error)
- GetIssues(start, limit int) ([]*Issue, error)
+ GetIssues(page, perPage int) ([]*Issue, bool, error)
GetComments(issueNumber int64) ([]*Comment, error)
- GetPullRequests(start, limit int) ([]*PullRequest, error)
+ GetPullRequests(page, perPage int) ([]*PullRequest, error)
+ GetReviews(pullRequestNumber int64) ([]*Review, error)
}
```
@@ -53,20 +55,24 @@ type DownloaderFactory interface {
## Uploader Interface
-Currently, only a `GiteaLocalUploader` is implemented, so we only save downloaded
+Currently, only a `GiteaLocalUploader` is implemented, so we only save downloaded
data via this `Uploader` on the local Gitea instance. Other uploaders are not supported
and will be implemented in future.
```Go
// Uploader uploads all the informations
type Uploader interface {
- CreateRepo(repo *Repository, includeWiki bool) error
- CreateMilestone(milestone *Milestone) error
- CreateRelease(release *Release) error
- CreateLabel(label *Label) error
- CreateIssue(issue *Issue) error
- CreateComment(issueNumber int64, comment *Comment) error
- CreatePullRequest(pr *PullRequest) error
+ MaxBatchInsertSize(tp string) int
+ CreateRepo(repo *Repository, opts MigrateOptions) error
+ CreateTopics(topic ...string) error
+ CreateMilestones(milestones ...*Milestone) error
+ CreateReleases(releases ...*Release) error
+ SyncTags() error
+ CreateLabels(labels ...*Label) error
+ CreateIssues(issues ...*Issue) error
+ CreateComments(comments ...*Comment) error
+ CreatePullRequests(prs ...*PullRequest) error
+ CreateReviews(reviews ...*Review) error
Rollback() error
Close()
}