Merge pull request 'Add Forgejo migration option' (#1273) from zareck/forgejo:forgejo_migrate_service into forgejo-development

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1273
This commit is contained in:
Loïc Dachary 2023-08-17 16:07:36 +00:00
commit c0c31a601a
7 changed files with 29 additions and 1 deletions

View file

@ -286,6 +286,7 @@ const (
OneDevService // 6 onedev service OneDevService // 6 onedev service
GitBucketService // 7 gitbucket service GitBucketService // 7 gitbucket service
CodebaseService // 8 codebase service CodebaseService // 8 codebase service
ForgejoService // 9 forgejo service
) )
// Name represents the service type's name // Name represents the service type's name
@ -311,6 +312,8 @@ func (gt GitServiceType) Title() string {
return "GitBucket" return "GitBucket"
case CodebaseService: case CodebaseService:
return "Codebase" return "Codebase"
case ForgejoService:
return "Forgejo"
case PlainGitService: case PlainGitService:
return "Git" return "Git"
} }
@ -352,7 +355,7 @@ type MigrateRepoOptions struct {
// TokenAuth represents whether a service type supports token-based auth // TokenAuth represents whether a service type supports token-based auth
func (gt GitServiceType) TokenAuth() bool { func (gt GitServiceType) TokenAuth() bool {
switch gt { switch gt {
case GithubService, GiteaService, GitlabService: case GithubService, GiteaService, GitlabService, ForgejoService:
return true return true
} }
return false return false
@ -363,6 +366,7 @@ func (gt GitServiceType) TokenAuth() bool {
var SupportedFullGitService = []GitServiceType{ var SupportedFullGitService = []GitServiceType{
GithubService, GithubService,
GitlabService, GitlabService,
ForgejoService,
GiteaService, GiteaService,
GogsService, GogsService,
OneDevService, OneDevService,

View file

@ -1080,6 +1080,7 @@ migrate.migrating_failed_no_addr = Migration failed.
migrate.github.description = Migrate data from github.com or other GitHub instances. migrate.github.description = Migrate data from github.com or other GitHub instances.
migrate.git.description = Migrate a repository only from any Git service. migrate.git.description = Migrate a repository only from any Git service.
migrate.gitlab.description = Migrate data from gitlab.com or other GitLab instances. migrate.gitlab.description = Migrate data from gitlab.com or other GitLab instances.
migrate.forgejo.description = Migrate data from codeberg.org or other Forgejo instances.
migrate.gitea.description = Migrate data from gitea.com or other Gitea instances. migrate.gitea.description = Migrate data from gitea.com or other Gitea instances.
migrate.gogs.description = Migrate data from notabug.org or other Gogs instances. migrate.gogs.description = Migrate data from notabug.org or other Gogs instances.
migrate.onedev.description = Migrate data from code.onedev.io or other OneDev instances. migrate.onedev.description = Migrate data from code.onedev.io or other OneDev instances.

9
public/assets/img/svg/gitea-forgejo.svg generated Normal file
View file

@ -0,0 +1,9 @@
<svg width="32" height="32" viewBox="-15 0 256 256" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(28,28)">
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" fill="none" stroke="#ff6600" stroke-width="25" />
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" fill="none" stroke="#d40000" stroke-width="25" />
<circle cx="142" cy="20" r="18" fill="none" stroke="#ff6600" stroke-width="15" />
<circle cx="142" cy="88" r="18" fill="none" stroke="#d40000" stroke-width="15" />
<circle cx="58" cy="180" r="18" fill="none" stroke="#d40000" stroke-width="15" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 595 B

View file

@ -36,6 +36,8 @@ func ToGitServiceType(value string) structs.GitServiceType {
return structs.OneDevService return structs.OneDevService
case "gitbucket": case "gitbucket":
return structs.GitBucketService return structs.GitBucketService
case "forgejo":
return structs.ForgejoService
default: default:
return structs.PlainGitService return structs.PlainGitService
} }

View file

@ -28,6 +28,8 @@ func TestToGitServiceType(t *testing.T) {
typ: "gitlab", enum: 4, typ: "gitlab", enum: 4,
}, { }, {
typ: "gogs", enum: 5, typ: "gogs", enum: 5,
}, {
typ: "forgejo", enum: 9,
}, { }, {
typ: "trash", enum: 1, typ: "trash", enum: 1,
}} }}

View file

@ -0,0 +1 @@
{{template "repo/migrate/gitea" .}}

View file

@ -0,0 +1,9 @@
<svg width="64" height="64" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" class="forgejo-logo" aria-hidden="true">
<g transform="translate(28,28)">
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" fill="none" stroke="#ff6600" stroke-width="25" />
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" fill="none" stroke="#d40000" stroke-width="25" />
<circle cx="142" cy="20" r="18" fill="none" stroke="#ff6600" stroke-width="15" />
<circle cx="142" cy="88" r="18" fill="none" stroke="#d40000" stroke-width="15" />
<circle cx="58" cy="180" r="18" fill="none" stroke="#d40000" stroke-width="15" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 633 B