diff options
author | Blaise Thompson <blaise@untzag.com> | 2021-06-17 21:28:09 -0500 |
---|---|---|
committer | Blaise Thompson <blaise@untzag.com> | 2021-06-17 21:28:09 -0500 |
commit | 243a1783e06c2a13ceb51ed55b2089c8a5be33ba (patch) | |
tree | 48a7f1098e9bd2adffe6e525a99a7a1d68a74b3c /mirror.py | |
parent | 530d2d27806c15743019056f89d0854a93762854 (diff) |
minimum viable with bugs
Diffstat (limited to 'mirror.py')
-rw-r--r-- | mirror.py | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -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"]) + |