Copy issue labels and milestones from one GitHub repo to another. This is useful if you have many repos and you want to use the same labelling scheme amongst all of them or keep milestone data synced for tools like ZenHub.
This is a great tool to install globally with Composer.
- Run
composer global require 'vanilla/github-sync'
to install the application. - If your global composer bin directory is in your path you can run the app with
github-sync
. For help, add-h
. - Generate a personal access token and add it to your
~/.bashrc
file asexport GITHUB_API_TOKEN=xxxxx
.
- Tag the repo with a new version number (format:
v1.1.1
). - Do a new release with that tag, named the same way.
- Update Packagist or wait for it to sync.
- Reinstall using the global
composer
command above.
- Pull the repo locally and go to the root.
composer update
- Test commands with
bin/github-sync {test command}
(see below) to invoke repo copy rather than global install.
github-sync labels [-f] [-t] [-d]
Copy the labels from one GitHub repo to another. Set a 'from' repo and 'to' repo. Thedelete
option will remove any labels from the 'to' repo that don't exist on the 'from' repo.github-sync milestones [-f] [-t] [-s] [--autoclose]
Copy milestones from one GitHub repo to another. Set a 'from' repo, 'to' repo, and/or a 'status' to select (one ofopen
,closed
,all
). Theautoclose
option will close milestones past their due date or with zero items.