Synchronize labels and milestones accross GitHub repositories
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

GitHub synchronizer

This script lets you synchronize labels and milestones between different GitHub repositories.

Installation

Clone the repository and install composer dependencies:

git clone https://github.com/piwik/github-sync
cd github-sync
composer install

If you do not have composer installed, it is explained here. If you installed composer locally (in the directory) you can alternatively run php composer.phar install.

Usage

Simply run the github-sync.php script to see how to use the command:

./github-sync.php help sync

Here is an example of the full command line:

./github-sync.php sync piwik/piwik piwik/plugin-SiteMigration --token=12345abcd

The script will ask you before doing any modification so don't be afraid to run it to see if it works.

You can provide a GitHub Personal Access Token using the --token option. This is necessary if you want to create/delete/update labels and milestones. If you just want to try out the script without doing any modification, you don't need to provide a token.

Bulk synchronizing

You can synchronize multiple repositories:

./github-sync.php sync piwik/piwik piwik/plugin-SiteMigration piwik/plugin-TasksTimetable

Here the plugin-SiteMigration and plugin-TasksTimetable repositories will both be synchronized to piwik/piwik.

Additionally, you can use the * wildcard to synchronize with all you repositories matching the pattern:

./github-sync.php sync piwik/piwik "piwik/*"

Note: * can be interpreted by your shell, in that case use quotes as shown in the example above.

License

This tool is released under the LGPL v3.0.