"""GIT_ASKPASS-Helfer: gibt das Gitea-Token aus der Umgebung an git weiter. Ohne diesen Helfer landet das Token entweder in .git/config (Remote-URL mit Zugangsdaten) oder in einer Kommandozeile (http.extraheader) und ist dort fuer jeden Prozess der Maschine lesbar. git ruft dieses Skript mit der Eingabe- aufforderung als Argument auf und liest die Antwort von stdout. Eine fehlende Variable ist ein Befund: das Skript endet mit Exit 1 und einer Meldung auf stderr, statt eine leere Zeile auszugeben. Sonst haengt git an einer stillen Fehlanmeldung. """ from __future__ import annotations import os import sys BENUTZER_VARIABLE = "GITEA_BENUTZER" TOKEN_VARIABLE = "GITEA_TOKEN" def main(argumente: list[str]) -> int: frage = " ".join(argumente).lower() if "username" in frage or "benutzer" in frage: name = "GITEA_BENUTZER" wert = os.environ.get(BENUTZER_VARIABLE, "").strip() else: name = "GITEA_TOKEN" wert = os.environ.get(TOKEN_VARIABLE, "").strip() if not wert: sys.stderr.write(f"{name} ist nicht gesetzt oder leer.\n") return 1 sys.stdout.write(wert + "\n") return 0 if __name__ == "__main__": raise SystemExit(main(sys.argv[1:]))