From 243a1783e06c2a13ceb51ed55b2089c8a5be33ba Mon Sep 17 00:00:00 2001 From: Blaise Thompson Date: Thu, 17 Jun 2021 21:28:09 -0500 Subject: minimum viable with bugs --- mirror.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'mirror.py') diff --git a/mirror.py b/mirror.py index 0ffff6c..14051e2 100644 --- a/mirror.py +++ b/mirror.py @@ -1,20 +1,27 @@ import toml import pathlib import os +import subprocess __here__ = pathlib.Path(__file__).parent -with open(__here__ / "mirrors.toml", "r") as f: +with open("mirrors.toml", "r") as f: repositories = toml.load(f) for path in repositories.keys(): - pathlib.mkdir(path, exist_ok=True) local_path = pathlib.Path(path) + local_path.mkdir(exist_ok=True, parents=True) primary_url = repositories[path]["primary"] secondary_urls = repositories[path]["secondary"] - if os.path.isfile(local_path / "git-daemon-export-ok"): - subprocess.run(["git", "remote", "update", primary_url]) - else: - # TODO: clone repository - pass + os.chdir(str(local_path)) + if not pathlib.Path("git-daemon-export-ok").is_file(): + subprocess.run(["git", "init", "--bare"]) + subprocess.run(["git", "remote", "add", "origin", primary_url]) + pathlib.Path("git-daemon-export-ok").touch() + subprocess.run(["git", "remote", "update"]) + subprocess.run(["git", "fetch", "origin", "'*:*'"]) + for url in secondary_urls: + print(url) + subprocess.run(["git", "push", url, "--all"]) + -- cgit v1.2.3