1
0
Fork
You've already forked migrator
0
mirror of https://gitea.com/gitea/migrator.git synced 2026年01月14日 14:22:02 +01:00
Jonas Franz' GitHub-Gitea Migrator
Go 83.6%
JavaScript 11.1%
Makefile 4.1%
Dockerfile 1.2%
Find a file
2019年09月24日 11:32:53 +00:00
cmd Add web log ( #27 ) 2018年09月11日 19:51:10 +00:00
config Fix config parsing 2018年12月17日 12:47:47 +01:00
migrations Add additional tests to increase coverage ( #29 ) 2018年12月24日 11:04:17 +00:00
web Add web log ( #27 ) 2018年09月11日 19:51:10 +00:00
.changelog.yml Add title and note to releases ( #20 ) 2018年07月04日 22:38:53 +00:00
.gitignore Refactor some parts of github.go 2018年12月14日 10:12:58 +01:00
commands.go Web interface implementation ( #18 ) 2018年07月26日 14:40:29 +00:00
commands_web.go Web interface implementation ( #18 ) 2018年07月26日 14:40:29 +00:00
config.example.yml Web interface implementation ( #18 ) 2018年07月26日 14:40:29 +00:00
Dockerfile Fix drone build caused by golang regression 2018年12月17日 14:15:30 +01:00
Dockerfile.web Fix drone build caused by golang regression 2018年12月17日 15:02:28 +01:00
drone.yml Use Gitea 1.7 for testing 2019年02月03日 20:55:55 +01:00
Gopkg.lock Update dependencies 2019年02月03日 21:14:33 +01:00
Gopkg.toml Web interface implementation ( #18 ) 2018年07月26日 14:40:29 +00:00
LICENSE Web interface implementation ( #18 ) 2018年07月26日 14:40:29 +00:00
main.go Add web log ( #27 ) 2018年09月11日 19:51:10 +00:00
Makefile Refactor some parts of github.go 2018年12月14日 10:12:58 +01:00
README.md Add deprecation notice ( #6 ) 2019年09月24日 11:32:53 +00:00

Warning!

This tool is no longer maintained and got replaced by the migration functionality in Gitea. Please use the "New migration" menu to migrate your GitHub repositories including issues, pullrequests etc.

gitea-github-migrator

Build Status Latest Release Docker Pulls Docker Pulls Go Report Card GoDoc Coverage Status

A tool to migrate GitHub Repositories to Gitea including all issues, labels, milestones and comments.

Features

Migrates:

  • Repositories
  • Issues
  • Labels
  • Milestones
  • Comments
  • Users
  • Pull Requests (as issue)
  • Statuses

Installation

From source

go get git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator
cd $GOPATH/src/git.jonasfranz.software/JonasFranzDEV/gitea-github-migrator
dep ensure
make build

Web Support

Run make web-build instead of make build to include web support.

From Binary

We provide binaries of master builds and all releases at our minio storage server.

Additionally we provide them for every release as release attachment under releases.

You don't need any dependencies except the binary to run the migrator.

These binaries include web support by default.

From Docker image

We provide a cli docker image:

For master builds:

docker run ggmigrator/cli:latest

For release builds:

docker run ggmigrator/cli:0.0.10

Usage

Command line

Migrate one repository:

gitea-github-migrator migrate \
 --gh-repo owner/reponame \
 --gh-token GITHUB_TOKEN \
 --url http://gitea-url.tdl \
 --token GITEA_TOKEN \
 --owner 1

gh-token is only required if you have more than 50 issues / repositories.

Migrate all repositories:

gitea-github-migrator migrate-all \
 --gh-user username \
 --gh-token GITHUB_TOKEN \
 --url http://gitea-url.tdl \
 --token GITEA_TOKEN \
 --owner 1

Migrate all repositories without issues etc. (classic):

gitea-github-migrator migrate-all \
 --gh-user username \
 --gh-token GITHUB_TOKEN \
 --url http://gitea-url.tdl \
 --token GITEA_TOKEN \
 --owner 1
 --only-repo

Web interface

Since 0.1.0 gitea-github-migrator comes with an integrated web interface. Follow these steps to get the web interface running:

  1. Download or build a web-capable binary of the gitea-github-migrator. The builds on our storage server are build with web support included. If you build from source, please follow web support.
  2. Create config.yml file and change the properties according to your wishes. Please keep in mind that you have to create a GitHub OAuth application to make the web interface work.
  3. Run ./gitea-github-migrator web
  4. Visit http://localhost:4000

Docker

We're providing a docker image with web support. To start the web service please run:

docker run ggmigrator/web -p 4000:4000 -v data/:/data

Place your config.yml into data/config.yml.

Config

Example:

# GitHub contains the OAuth2 application data obtainable from GitHubGitHub:client_id:GITHUB_OAUTH_CLIENT_IDclient_secret:GITHUB_OAUTH_SECRET# Web contains the configuration for the integrated web serverWeb:port:4000host:0.0.0.0

Problems

  • This migration tool does not work with Gitea instances using a SQLite database.
  • Comments / Issues will be added in the name of the user to whom belongs the token (information about the original date and author will be added)
  • The current date is used for creation date (information about the actual date is added in a comment)