This tool takes a list of remote repositories endpoints defined within a YAML file and sync them to a GitLab instance and ultimately can be run as a cron job. In the backgroud it uses [bachp's git-mirror tool](https://github.com/bachp/git-mirror).
This tool takes a list of remote organizations or repositories endpoints defined within a YAML file and sync them to a GitLab instance and ultimately can be run as a cron job. In the backgroud it uses [bachp's git-mirror tool](https://github.com/bachp/git-mirror).
# Features
- Sync all or a list of sources repos from a GitHub organization or user
- Sync from direct Git repository endpoints to any specified GitLab group
- Exclude some previsouly synchronized repository from synchronization (see [`skip`](https://github.com/bachp/git-mirror#description-format) field)
# Requirements
- Python 3
...
...
@@ -12,7 +13,7 @@ This tool takes a list of remote repositories endpoints defined within a YAML fi
# Setup
To be able to run properly the tool needs:
- The configuration file `config.cfg`
- The list of repository definitions in YAML format: `sourceRepos.yaml`.
- The list of GitHub organization (e.g. `ghsrc: bachp/git-mirror`), GitHub repositories (e.g. `ghsrc: bachp`) or any Git repositories URL (e.g. `https://github.com/xwiki/xwiki-platform.git`) in YAML format: `sourceRepos.yaml`.
- a GitLab user with:
- a valid API key
- an SSH public key attached to its profile, to push the repositories without password prompting.