mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 20:27:30 +00:00
08069dc465
* add migrations * fix package dependency * fix lints * implements migrations except pull requests * add releases * migrating releases * fix bug * fix lint * fix migrate releases * fix tests * add rollback * pull request migtations * fix import * fix go module vendor * add tests for upload to gitea * more migrate options * fix swagger-check * fix misspell * add options on migration UI * fix log error * improve UI options on migrating * add support for username password when migrating from github * fix tests * remove comments and fix migrate limitation * improve error handles * migrate API will also support migrate milestones/labels/issues/pulls/releases * fix tests and remove unused codes * add DownloaderFactory and docs about how to create a new Downloader * fix misspell * fix migration docs * Add hints about migrate options on migration page * fix tests
70 lines
1.9 KiB
Go
70 lines
1.9 KiB
Go
// Copyright 2019 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package migrations
|
|
|
|
import (
|
|
"code.gitea.io/gitea/modules/migrations/base"
|
|
)
|
|
|
|
var (
|
|
_ base.Downloader = &PlainGitDownloader{}
|
|
)
|
|
|
|
// PlainGitDownloader implements a Downloader interface to clone git from a http/https URL
|
|
type PlainGitDownloader struct {
|
|
ownerName string
|
|
repoName string
|
|
remoteURL string
|
|
}
|
|
|
|
// NewPlainGitDownloader creates a git Downloader
|
|
func NewPlainGitDownloader(ownerName, repoName, remoteURL string) *PlainGitDownloader {
|
|
return &PlainGitDownloader{
|
|
ownerName: ownerName,
|
|
repoName: repoName,
|
|
remoteURL: remoteURL,
|
|
}
|
|
}
|
|
|
|
// GetRepoInfo returns a repository information
|
|
func (g *PlainGitDownloader) GetRepoInfo() (*base.Repository, error) {
|
|
// convert github repo to stand Repo
|
|
return &base.Repository{
|
|
Owner: g.ownerName,
|
|
Name: g.repoName,
|
|
CloneURL: g.remoteURL,
|
|
}, nil
|
|
}
|
|
|
|
// GetMilestones returns milestones
|
|
func (g *PlainGitDownloader) GetMilestones() ([]*base.Milestone, error) {
|
|
return nil, ErrNotSupported
|
|
}
|
|
|
|
// GetLabels returns labels
|
|
func (g *PlainGitDownloader) GetLabels() ([]*base.Label, error) {
|
|
return nil, ErrNotSupported
|
|
}
|
|
|
|
// GetReleases returns releases
|
|
func (g *PlainGitDownloader) GetReleases() ([]*base.Release, error) {
|
|
return nil, ErrNotSupported
|
|
}
|
|
|
|
// GetIssues returns issues according start and limit
|
|
func (g *PlainGitDownloader) GetIssues(start, limit int) ([]*base.Issue, error) {
|
|
return nil, ErrNotSupported
|
|
}
|
|
|
|
// GetComments returns comments according issueNumber
|
|
func (g *PlainGitDownloader) GetComments(issueNumber int64) ([]*base.Comment, error) {
|
|
return nil, ErrNotSupported
|
|
}
|
|
|
|
// GetPullRequests returns pull requests according start and limit
|
|
func (g *PlainGitDownloader) GetPullRequests(start, limit int) ([]*base.PullRequest, error) {
|
|
return nil, ErrNotSupported
|
|
}
|