This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
John-Mark Gurney e66e9c4f68 add a quick start... il y a 2 ans
.gitignore ignroe some standard stuff.. il y a 2 ans
README.md add a quick start... il y a 2 ans
doupdate.sh grab and store the ls-remote output.. disable dry-run.. il y a 2 ans
reponames.py first cut of this.. il y a 2 ans
repos.txt first cut of this.. il y a 2 ans
verify.sh add script to verify that the ls-remote files matches the branches/tags il y a 2 ans

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