Zweites Push-Ziel: lokaler Spiegel unter Projekte\audi-app.git

origin traegt jetzt zwei Push-Adressen - Gitea und ein bares Repository unter
C:\Users\tobia\Projekte\audi-app.git. Ein `git push` schreibt an beide.

Der Spiegel wurde aus allen Branches auf Gitea befuellt (main,
umsetzung-datametric360) und war danach ref-identisch. Geholt wird weiterhin
ausschliesslich von Gitea: origin/main bleibt damit das, was der Server sagt -
worauf der Waechter in ios-signieren.sh vollstaendig aufbaut.

Gleiches Muster wie bei DM180 (Projekte\Data-Metric-180.git).

AGENTS.md Abschnitt DK.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-10 00:52:41 +02:00
parent 5b840ea510
commit 2f945dccd9
+40 -1
View File
@@ -1,6 +1,6 @@
# AGENTS.md — Project state, review findings, open items, and working rules # AGENTS.md — Project state, review findings, open items, and working rules
**Last updated: 2026-09-07** (Überschrittene Servicetermine werden markiert, Abschnitt DJ). Davor: 2026-09-06 (Die Batteriehistorie zeichnete stehende Werte als frische Messungen auf - der Vorschlag aus CB war messbar falsch, Abschnitt DI; davor: die ausgelieferte .ipa registriert zwei eigene Plugins nicht, Abschnitt DH). Davor: 2026-09-05, Audit-Durchgang, Abschnitt DC. (Tankstelle zweizeilig und antippbar, die Belegkarte sagt bei **Last updated: 2026-09-10** (Zwei Push-Ziele: Gitea und ein lokaler Spiegel, Abschnitt DK). Davor: 2026-09-07 (Überschrittene Servicetermine werden markiert, Abschnitt DJ). Davor: 2026-09-06 (Die Batteriehistorie zeichnete stehende Werte als frische Messungen auf - der Vorschlag aus CB war messbar falsch, Abschnitt DI; davor: die ausgelieferte .ipa registriert zwei eigene Plugins nicht, Abschnitt DH). Davor: 2026-09-05, Audit-Durchgang, Abschnitt DC. (Tankstelle zweizeilig und antippbar, die Belegkarte sagt bei
fehlender Position die Wahrheit statt einen toten Knopf zu zeigen, der Regler bekommt einen fehlender Position die Wahrheit statt einen toten Knopf zu zeigen, der Regler bekommt einen
Speichern-Knopf, und die Share-Erweiterung trug eine andere Versionsnummer als die App; Speichern-Knopf, und die Share-Erweiterung trug eine andere Versionsnummer als die App;
dazu die Kopfmarke statt der Firmierung des Betreibers und ein dazu die Kopfmarke statt der Firmierung des Betreibers und ein
@@ -12948,3 +12948,42 @@ zurückgestellt und geprüft:
**Nicht gesehen: das Panel.** Dafür fehlt weiterhin eine angemeldete **Nicht gesehen: das Panel.** Dafür fehlt weiterhin eine angemeldete
HA-Sitzung; es ist über den Paritätstest und den Modul-Parse belegt, nicht über HA-Sitzung; es ist über den Paritätstest und den Modul-Parse belegt, nicht über
ein Bild. ein Bild.
---
## DK. Two push targets: Gitea and a local mirror (2026-09-10)
`origin` now carries **two push URLs**, so one `git push` writes to both:
```
fetch https://gitea.nothaft.cloud/paul/audi-app.git
push https://gitea.nothaft.cloud/paul/audi-app.git
push C:/Users/tobia/Projekte/audi-app.git
```
The mirror is a plain bare repository - no remotes of its own, nothing to
maintain - seeded from every branch Gitea had, so the two started out identical
(`main`, `umsetzung-datametric360`, no tags). Same arrangement DM180 already
uses (`Projekte/Data-Metric-180.git`), so both projects now behave alike.
**Fetching still comes from Gitea alone.** Git allows exactly one fetch URL, and
that is the right one: Gitea stays the authority on what `origin/main` means, the
mirror is a second copy of it. This matters for `ios-signieren.sh`, whose whole
guard is built on `origin/main` - it keeps comparing against the server, not
against a local directory that might be a push behind.
Two consequences worth knowing:
* A push that reaches one target and fails at the other leaves them apart. Git
pushes to the URLs in order and reports each, so the failure is visible - but
it is not a transaction. Repeating the push repairs it; nothing else is needed.
* Anything done **only** locally against the mirror (a force-push straight into
it, say) would make it drift silently, because nothing ever reads from it.
Treat it as write-only: push through `origin`, never into the mirror directly.
Verifying they agree is one command:
```bash
diff <(git ls-remote https://gitea.nothaft.cloud/paul/audi-app.git | grep refs/heads | sort) \
<(git ls-remote C:/Users/tobia/Projekte/audi-app.git | grep refs/heads | sort)
```