Skip to content

Small and fast utility to mirror git repositories

License

Notifications You must be signed in to change notification settings

Dalee/git-mirror

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.