A command line tool build with Golang to migrate a GitLab project to Gitea.
It uses the exposed API of both systems to migrate following data of a project:
- All repo
- All milestones
- All labels
- All issues
It skips creation if an item already exists.
> git clone https://github.com/quantalphas/gitlabmvgitea.git
> cd gitlabmvgitea
> go mod tidy
> go install
> whereis gitlabmvgitea
gitlabmvgitea: /go/bin/gitlabmvgiteaInstalling the tool from source code needs to have a recent version of Golang installed.
change GiteaAdminUser = "root" to your Gitea admin username
gitlabmvgitea --gitlabserver https://gitlab.domain.com/ --gitlabtoken tokenA \
--giteaserver https://gitea.domain.com/ --giteatoken tokenB
Migrate repo, labels, issues and milestones from GitLab to Gitea.
Usage: gitlabmvgitea --gitlabtoken GITLABTOKEN --gitlabproject GITLABPROJECT --giteatoken GITEATOKEN --giteaserver GITEASERVER
Options:
--gitlabtoken GITLABTOKEN
token for GitLab API access
--gitlabserver GITLABSERVER
GitLab server URL with a trailing slash
--giteatoken GITEATOKEN
token for Gitea API access
--giteaserver GITEASERVER
Gitea server URL
--help, -h display this help and exit
I made sth change(gitlabmvgitea/go-sdk/gitea/client.go) in go-sdk.