Skip to content
Snippets Groups Projects
user avatar
Sam Gleske authored
up to this point.
697620c1
History

gitlab-mirrors

The gitlab-mirrors project is designed to fill in a feature which is currently missing from GitLab: the ability to mirror remote repositories. gitlab-mirrors creates read only copies of remote repositories in gitlab. It provides a CLI management interface for managing the mirrored repositories (e.g. add, delete, update) so that an admin may regularly update all mirrors using crontab. It operates by interacting with the GitLab API using python-gitlab.

Features

  • Mirror git and SVN repositories.
  • When adding a mirror if the project doesn't exist in GitLab then add_mirrror.sh will automatically create it.
    • Specify initial project defaults when a project is created (e.g. issues enabled, wiki enabled, etc.)
  • Update a single mirror with the update_mirror.sh command.
  • Update all known mirrors with the git-mirrors.sh command. Useful for adding to a cron job for updating all repositories on a regular schedule.

Three easy steps

  1. Setup prerequisites
  2. Install gitlab-mirrors
  3. Manage your mirrors

License

Created by Sam Gleske under MIT License. This project is meant to temporarily fill in a gap left by GitLab for managing remote git mirrors. See the following user voice topics which made me create this project in the mean time.


References