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 install
Create .env
file
cp .env.sample .env
Update .env
with all details.
Note: Some endpoint requires admin/sudo token like getting snippets.
php main.php
This 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-csv
php main.php --migrate-repo --gitlab-group=test-github-import --gitlab-project-name=test-repo-1 --includes=all --force-assignee --github-name=test-repo-1 --yes
php 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-import
php main.php --archive --gitlab-group=test-github-import --gitlab-project-name=test-repo-1
php 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-info
Uses SNIPPET_REPO_GIT_URL
in .env
Uses admin sudo endpoint to get all snippets from GitLab.
php main.php --migrate-snippets
php main.php --add-team --team=rtMedia --keyword=rtmedia
php main.php --list-repo --export=csv/json
Display in a table format on console
php stats.php
Export to CSV file
php stats.php > stats.csv
- By default all projects will be created with
private
access. To create a repo withpublic
visibility, pass--public
arg 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-repo
which will not rename project as{group-name}-{project-name}
. --github-name
name 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 💻 📖 |
---|