All Projects → itchyny → github-migrator

itchyny / github-migrator

Licence: MIT License
GitHub repository migrator

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to github-migrator

mgmigrate
mgmigrate is a tool for migrating data from MySQL or PostgreSQL to Memgraph and between Memgraph instances.
Stars: ✭ 17 (-56.41%)
Mutual labels:  migration-tool
maildir2gmail
Maildir 2 Gmail
Stars: ✭ 14 (-64.1%)
Mutual labels:  migration-tool
SP Hauler
Copy Libraries and Lists Content between ANY Version of SharePoint (SP2010/SP2013/SP2016/SPOnline).
Stars: ✭ 21 (-46.15%)
Mutual labels:  migration-tool
butterfly
Application transformation tool
Stars: ✭ 35 (-10.26%)
Mutual labels:  migration-tool
n3dr
Nexus3 Disaster Recovery (N3DR) is a tool that is capable of downloading all artifacts from a Nexus3 server and to migrate them to another Nexus3 server. Note that some repository formats are not supported at the moment.
Stars: ✭ 110 (+182.05%)
Mutual labels:  migration-tool
sequelize-mig
Sequelize migration generator and es6 init tool (Planned)
Stars: ✭ 54 (+38.46%)
Mutual labels:  migration-tool
db-migrator.go
DB migrations. CLI and Golang
Stars: ✭ 13 (-66.67%)
Mutual labels:  migration-tool
toggl2clockify
Migrate data from toggl to clockify
Stars: ✭ 21 (-46.15%)
Mutual labels:  migration-tool
sync-magento-2-migration
Release of rough proof of concept from 2018 that allows to import and export millions of products quickly
Stars: ✭ 51 (+30.77%)
Mutual labels:  migration-tool
Migrate2Postgres
Easily migrate from other DBMSs to PostgreSQL
Stars: ✭ 47 (+20.51%)
Mutual labels:  migration-tool
underbase
MongoDB schema and data migration library based on semver
Stars: ✭ 19 (-51.28%)
Mutual labels:  migration-tool
mongration
MongoDB data migration tool for Spring Boot projects
Stars: ✭ 21 (-46.15%)
Mutual labels:  migration-tool
hasura-metadata-patcher
CLI tool to patch Hasura metadata json file. Helps to organize complex CI/CD flows through different environments.
Stars: ✭ 14 (-64.1%)
Mutual labels:  migration-tool
management-sdk
GraphCMS Management SDK
Stars: ✭ 43 (+10.26%)
Mutual labels:  migration-tool

github-migrator

This tool migrates a GitHub repository to another. This is especially useful to move a repository from GitHub Enterprise to github.com.

Usage

export GITHUB_MIGRATOR_SOURCE_API_TOKEN=xxx
export GITHUB_MIGRATOR_SOURCE_API_ENDPOINT=http://localhost/api/v3 # This might be the endpoint of GitHub Enterprise
export GITHUB_MIGRATOR_TARGET_API_TOKEN=yyy
# export GITHUB_MIGRATOR_TARGET_API_ENDPOINT=https://api.github.com # No need to specify the endpoint of github.com
# export GITHUB_MIGRATOR_TARGET_PROXY_URL=http://proxyIp:proxyPort # If you need proxy URL
go run . [old-owner]/[source] [new-owner]/[target]

Be sure to use this tool before pushing the git tree to the new origin (otherwise the links in the merged commits are lost).

Other options

Sometimes same user has different user id on GitHub and Enterprise.

export GITHUB_MIGRATOR_USER_MAPPING=user-before1:user-after1,user-before2:user-after2,user-before3:user-after3

Requirements

  • Go 1.17+
  • API tokens to access the source and target repositories.

Features

  • Issues
    • Issue description with the link to the original repository
    • Issue comments with the user name and icon (within the comment)
    • Created dates, Labels
    • Issue numbers are same as the original repository
    • Various events (including title changes, issue locking, assignments, review requests and branch deletion in a pull request)
  • Pull requests
    • A pull request is converted to an issue
    • Comments and review comments are migrated as issue comments
    • Created dates, Labels
    • Pull request numbers (issue numbers) are same as the original repository
    • Number of changed files, insertions and deletions
    • Entire diff (excluding large file diffs)
    • Commits list and link to the corresponding /compare/ page
  • Repository information
    • Description, Homepage (only when the target repository has blank description, homepage)
  • Labels
    • Label name, description and colors
    • Label changes in issue and pull request
  • Projects
    • Projects, columns and cards
    • Note that column automations are not migrated (cannot be set via API)
  • Milestones
    • Milestone titles, description and due date
    • Connect issues to milestones
  • Webhooks
    • Webhook URL, content type and events the hooks is trigger for.
  • All the other things will be lost
    • Images posted to issue and pull request comments.
    • Emoji reactions to issue and pull request comments
    • Diffs (split) view of pull requests
    • Wiki
    • Default branch, Protection rules
    • Notifications, Integrations

Bug Tracker

Report bug at Issues・itchyny/github-migrator - GitHub.

Author

itchyny (https://github.com/itchyny)

License

This software is released under the MIT License, see LICENSE.

Previous works and references

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].