A tool to migrate GitHub Repositories to Gitea including all issues
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
gitea-github-migrator/migrations/migratory.go

48 lines
1.3 KiB

package migrations
import "code.gitea.io/sdk/gitea"
// MigratoryStage represents the actual step in the process
type MigratoryStage int
const (
// Importing imports the repo to Gitea
Importing MigratoryStage = iota
// Migrating migrates issues, etc to Gitea
Migrating
// Finished means that everything is migrated successfully
Finished
// Failed is only entered if a fatal error occurs
Failed
)
// Migratory is the context for migrating things from GitHub to Gitea
type Migratory struct {
Options
Client *gitea.Client
Status *MigratoryStatus
repository *gitea.Repository
// key: github milestone id | value: gitea milestone id
migratedMilestones map[int64]int64
// key: github label id | value: gitea label id
migratedLabels map[int64]int64
}
// MigratoryStatus represents the actual state of a migratory
type MigratoryStatus struct {
Stage MigratoryStage `json:"stage"`
Issues int64 `json:"total_issues"`
IssuesMigrated int64 `json:"migrated_issues"`
IssuesError int64 `json:"failed_issues"`
Comments int64 `json:"total_comments"`
CommentsError int64 `json:"failed_comments"`
CommentsMigrated int64 `json:"migrated_comments"`
// FatalError should only be used if stage == failed; indicates which fatal error occurred
FatalError error
Log string `json:"log"`
}