dimus / glgh

Reads issues from a GitLab repo and transfers them to GitHub repo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

glgh

glgh moves issues from GitLab repository to GitHub repository.

Usage

Creating a mirror of a project

Clone the repo from GitLab using the --mirror option. This is like --bare but also copies all refs as-is. Useful for a full backup/move. git clone --mirror git@your-gitlab-site.com:username/repo.git

Change into newly created repo directory

cd repo

Push to GitHub using the --mirror option. The --no-verify option skips any hooks.

git push --no-verify --mirror git@github.com:username/repo.git

Set push URL to the mirror location

git remote set-url --push origin git@github.com:username/repo.git

To periodically update the repo on GitHub with what you have in GitLab

git fetch -p origin
git push --no-verify --mirror

After doing this, the autolinking of issues, commits, and branches will work.

Setting up authentication tokens

You will need personal OpenAuth tokens for both GitLab and GitHub.

For GitLab token go to https://gitlab.com/profile/personal_access_tokens. Create a new Access Token with api and read_repository scopes.

For GitHub token go to https://github.com/settings/tokens. Generate a new token with repo, admin:org, user scope.

Compile and run glgh -V first time to generate configuration file at ~/.config/glgh.yaml, edit this file according to your needs.

Running the program

Run glgh to read all the tickets from GitLab and cache them on disk. If you do want to update the cache run glgh -r.

This commands will read issues from GitLab repo and recreate them again at GitHub.

About

Reads issues from a GitLab repo and transfers them to GitHub repo

License:MIT License


Languages

Language:Go 95.8%Language:Makefile 4.2%