This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
John-Mark Gurney e66e9c4f68 add a quick start... 2 år sedan
.gitignore ignroe some standard stuff.. 2 år sedan
README.md add a quick start... 2 år sedan
doupdate.sh grab and store the ls-remote output.. disable dry-run.. 2 år sedan
reponames.py first cut of this.. 2 år sedan
repos.txt first cut of this.. 2 år sedan
verify.sh add script to verify that the ls-remote files matches the branches/tags 2 år sedan

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