This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
John-Mark Gurney e66e9c4f68 add a quick start... 2 yıl önce
.gitignore ignroe some standard stuff.. 2 yıl önce
README.md add a quick start... 2 yıl önce
doupdate.sh grab and store the ls-remote output.. disable dry-run.. 2 yıl önce
reponames.py first cut of this.. 2 yıl önce
repos.txt first cut of this.. 2 yıl önce
verify.sh add script to verify that the ls-remote files matches the branches/tags 2 yıl önce

README.md

GITMIRROR

This repo is a mirror of various repositories that I want to keep track of. I realized that git, w/ it’s inherently dedupability, and the ability to store many trees in a single repo, that it’d be easy to create a repo that regularly clones/mirrors other source repos. Not only this, but the state of the tags and branches can be archived on a daily basis, consuming very little space.

The main reason that I want this is from a supply chain availability perspective. As a consumer of source, it isn’t always guaranteed that the project you depend upon will continue to exist in the future. It could also be that older version are removed, etc.

Quick start

  1. Update the file repos.txt with a list of urls that you want to mirror.
  2. Run the script doupdate.sh to mirror all the repos.
  3. Optionally run git push --mirror origin to store the data on the server.

Process

  1. Repo will self update main to get latest repos/code to mirror.
  2. Fetch the repos to mirror into their respective date tagged tags/branches.
  3. Push the tags/branches to the parent.
  4. Repeat