This project served it's purpose for rtCamp's own need. The project, by its nature, is not required anymore by rtCamp so it is not maintained anymore.
Your support requests and pull requests may get unanswered.
☠️ Use at your own risk. ☠️
PHP 7.1 or higher.
Download dependencies via composer
composer installCreate .env file
cp .env.sample .envUpdate .env with all details.
Note: Some endpoint requires admin/sudo token like getting snippets.
php main.phpThis creates user mapping of GitLab and GitHub username's for and updates it's reference in comments, description and assignee accordingly. The generated csv is used internally to update username references as mentioned above.
php main.php --user --create-mapped-csvphp main.php --migrate-repo --gitlab-group=test-github-import --gitlab-project-name=test-repo-1 --includes=all --force-assignee --github-name=test-repo-1 --yesphp main.php --migrate-repo --gitlab-group=group-name --includes=all --use-repo-name-as-github-repo --yes--yes will not prompt for migrating each repo.
php main.php --archive --gitlab-group=test-github-importphp main.php --archive --gitlab-group=test-github-import --gitlab-project-name=test-repo-1php main.php --delete --path=./delete-repos.csv --yes| Namespace/Reponame |
|---|
| test-github-import/to-be-deleted-1 |
| test-github-import/to-be-deleted-2 |
php main.php --get-snippet-infoUses SNIPPET_REPO_GIT_URL in .env
Uses admin sudo endpoint to get all snippets from GitLab.
php main.php --migrate-snippetsphp main.php --add-team --team=rtMedia --keyword=rtmediaphp main.php --list-repo --export=csv/jsonDisplay in a table format on console
php stats.phpExport to CSV file
php stats.php > stats.csv- By default all projects will be created with
privateaccess. To create a repo withpublicvisibility, pass--publicarg explicitly. - If you want to import all project of a group do no specify gitlab-project-name.
- You can add
--use-repo-name-as-github-repowhich will not rename project as{group-name}-{project-name}. --github-namename still takes priority on 👆 if specified.
- Doesn't Migrate Images/Attachment right now, uses Gitlab Image/Attachment URL in comment/description.
- Doesn't migrate Wiki.
- Doesn't handle PR and it's comment well.
- Doesn't Handle mapping of external users and blocked users of GitLab.
- Project settings and collaborators. (Partially handles invites when adding issue assignee if they are part of organization)
This project uses GitHub's Preview API. It is undergoing changes so things might break anytime.
MIT
Thanks goes to these wonderful people (emoji key):
Rahul Bansal 🤔 📖 💻 |
Utkarsh Patel 🤔 💻 📖 👀 |
Thrijith Thankachan 💻 📖 |
Vaishali 💻 📖 |
Vishal Kakadiya 💻 📖 |
|---|