def rewrite()

in tools/infra_scripts/import-hirschgarten-pr.py [0:0]


def rewrite(patch: str, pre: str) -> str:
    out = []
    for ln in patch.splitlines(keepends=True):
        if ln.startswith("diff --git"):
            m = re.match(r"diff --git a/(.+?) b/(.+)", ln)
            if m:
                a, b = m.groups()
                ln = f"diff --git a/{add_prefix(a, pre)} b/{add_prefix(b, pre)}\n"
        elif ln.startswith("--- a/"):
            ln = f"--- a/{add_prefix(ln[6:].strip(), pre)}\n"
        elif ln.startswith("+++ b/"):
            ln = f"+++ b/{add_prefix(ln[6:].strip(), pre)}\n"
        elif ln.startswith("rename from "):
            ln = f"rename from {add_prefix(ln[12:].strip(), pre)}\n"
        elif ln.startswith("rename to "):
            ln = f"rename to {add_prefix(ln[10:].strip(), pre)}\n"
        out.append(ln)
    return "".join(out)