Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sebj54/gogs-to-github
A tool to help you migrate Gogs repositories to Github
https://github.com/sebj54/gogs-to-github
github github-api gogs gogs-api migration migration-tool
Last synced: 2 months ago
JSON representation
A tool to help you migrate Gogs repositories to Github
- Host: GitHub
- URL: https://github.com/sebj54/gogs-to-github
- Owner: sebj54
- Created: 2020-10-30T15:51:30.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2020-11-10T09:47:37.000Z (about 4 years ago)
- Last Synced: 2024-11-03T15:02:24.623Z (3 months ago)
- Topics: github, github-api, gogs, gogs-api, migration, migration-tool
- Language: JavaScript
- Homepage:
- Size: 37.1 KB
- Stars: 2
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gogs-to-github
A tool to help you migrate Gogs repositories to Github.
## Features
- Migrate repositories from Gogs to Github
- Create repositories
- Create labels
- Create milestones
- Create issues and comments
- Keep issue numerotation
- Create webhooks
- Display commands to clone old repositories and push to new ones (you just have to copy/paste)**⚠ This tool does not migrate pull requests because Gogs does not provide an API for pull requests (see https://github.com/gogs/gogs/issues/2253).**
## Installation and usage
```
git clone https://github.com/sebj54/gogs-to-github
cd gogs-to-github
npm ci
GOGS_ACCESS_TOKEN=____YOUR_GOGS_TOKEN____
GOGS_URL=https://____YOUR_GOGS_URL____
GITHUB_ACCESS_TOKEN=____YOUR_GITHUB_TOKEN____
npm start
```### Configuration
To be able to run migration, you will need to set 3 environment variables:
- `GOGS_ACCESS_TOKEN`: A Gogs access token (Create one from *Settings → Applications*)
- `GOGS_URL`: Your Gogs instance URL (without trailing slash)
- `GITHUB_ACCESS_TOKEN`: A GitHub access token with `repo` and `admin:repo_hook` scopes (Create one from https://github.com/settings/tokens)You can define these variables directly from your CLI or use a `.env` root file. You can copy the structure of the `env.dist` file and fill the variables.