Introduction

Git-synchronizer is an application meant to synchronize git repositories with eachother. It can synchronize the main repository with one or more mirror repositories.

Git-synchronizer fetches all branches and tags from the main repository and pushes them to the mirror repositories.

Git-synchronizer is optimized to work in a cron job. Main and mirror repos are set using a config file. Git-synchronizer supports fetching and pushing multiple repositories at once.

Usage

usage: git-synchronizer [-h] --clone-dir CLONE_DIR --config CONFIG
                        [--threads THREADS]

Named Arguments

--clone-dir Where repositories should be cloned on the local machine.
--config The tab delimited configuration file. In the form: main_git_url<tab>mirror_git_url1<tab>mirror_git_url2 etc. Number of mirror_git_urls should be at least 1.
--threads

The number of git operations which will be performed at the same time.

Default: 1

Example config file

https://example.com/examples/example.git     git@mygit.com:/examples/example.git
https://example.com/examples/example2.git    git@mygit.com:/examples/example2.git    git@myothergit.com/example/example2.git