This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
John-Mark Gurney e66e9c4f68 add a quick start... 2 роки тому
.gitignore ignroe some standard stuff.. 2 роки тому
README.md add a quick start... 2 роки тому
doupdate.sh grab and store the ls-remote output.. disable dry-run.. 2 роки тому
reponames.py first cut of this.. 2 роки тому
repos.txt first cut of this.. 2 роки тому
verify.sh add script to verify that the ls-remote files matches the branches/tags 2 роки тому

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