Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.25 KB

File metadata and controls

43 lines (32 loc) · 1.25 KB

Fast bulk git repository mirroring

Build Status Go Report Card

Small and fast utility to mirror git repositories.

Usage

Make sure all repositories are reachable via git command-line utility

Create file repository_list.json with following content:

[
  {
    "server1": "git@server1.example.com:path/repo1.git",
    "server2": "https://server2.example.com/another_path/repo1.git"
  },
  {
    "server1": "git@server1.example.com:path/repo2.git",
    "server2": "https://server2.example.com/another_path/repo2.git"
  }
]

Perform mirroring:

git-mirror \
    -cacheDir=/path/to/cache -concurrency=10 \
    repository_list.json \
    server1 server2

All repositories from server1 key, will be mirrored to repositories of server2.

If cacheDir is not provided, repositories will be cloned to a temporary location and will be removed up after mirroring.

concurrency flag allows to tune number of parallel workers.

License

Software licensed under the MIT License.