#!/usr/bin/env python3 import git import os import sys from datetime import datetime, timezone REPOS = "/var/www/git.jordan.im/repositories" for x in os.listdir(REPOS): if not os.path.isdir(os.path.join(REPOS, x)): continue print(f"processing {x}...") try: repo = git.Repo(os.path.join(REPOS, x)) for remote in repo.remotes: remote.fetch() md = repo.head.commit.committed_datetime md = md.astimezone(timezone.utc).strftime("%Y-%m-%d %H:%M:%S") except Exception as e: sys.stderr.write(str(e)) continue d = os.path.join(REPOS, x, "info/web/") os.makedirs(d, exist_ok=True) f = open(os.path.join(d, "last-modified"), "w") f.write(md) f.close()