Abgleich mit dem Vault-Stand a201514

16 Datei(en) geändert.
Erzeugt von .vault-tools/auto-push/werkzeuge_spiegel.py.
This commit is contained in:
Pascal Michel committed 2026-10-18 04:00:03 +02:00
1 parent fb8bc625e3
commit 4d90e6be60
16 files changed
+781 -36

No files matched your search

@@ -151,6 +151,64 @@ def fall_relativ_nach_aussen(projekt, mat, task, wurzel):
schreibe(task, text.replace("Keine andere Datei", "- `../anderswo/x.py` (neu)\n\nKeine andere Datei"))
def _ignoriert(projekt, mat, task, erst="neu", letzt="neu"):
"""Seit 2026-10-17: Zieldateien unter einem Pfad, den .gitignore ausblendet (Paket R1 im Edge-Stack: Prüfdateien
unter tests/.work/). .gitignore kommt in den Basis-Commit; work/erst.py steht als erste, work/letzt.py als letzte
Zieldatei in der Liste, beide in Baum und Kopie gleich. erst/letzt: "neu" oder "gelöscht" (dann in keinem Baum)."""
schreibe(projekt / ".gitignore", "work/\n")
git(projekt, "add", ".gitignore")
git(projekt, "commit", "-q", "-m", "ignoriert")
for name, art in (("erst.py", erst), ("letzt.py", letzt)):
if art == "neu":
schreibe(projekt / "work" / name, f"{name} eins\n{name} zwei\n")
schreibe(mat / "work" / name, f"{name} eins\n{name} zwei\n")
text = task.read_text(encoding="utf-8")
text = text.replace("## Zieldateien\n\n", f"## Zieldateien\n\n- `work/erst.py` ({erst})\n", 1)
text = text.replace("\n\nKeine andere Datei", f"\n- `work/letzt.py` ({letzt})\n\nKeine andere Datei", 1)
schreibe(task, text)
def fall_ignoriert_gleich(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task)
def fall_ignoriert_erste_weicht_ab(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task)
schreibe(projekt / "work" / "erst.py", "erst.py EINS\nerst.py zwei\n")
def fall_ignoriert_letzte_weicht_ab(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task)
schreibe(projekt / "work" / "letzt.py", "letzt.py eins\nletzt.py ZWEI\n")
def fall_ignoriert_fehlt_im_baum(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task)
(projekt / "work" / "letzt.py").unlink()
def fall_ignoriert_fehlt_in_kopie(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task)
(mat / "work" / "erst.py").unlink()
def fall_ignoriert_geloescht(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task, letzt="gelöscht")
def fall_ignoriert_nicht_geloescht(projekt, mat, task, wurzel):
_ignoriert(projekt, mat, task, letzt="gelöscht")
schreibe(projekt / "work" / "letzt.py", "bleibt\n")
def fall_ignoriert_getrackt(projekt, mat, task, wurzel):
"""Eine getrackte Datei unter einem ignorierten Muster (git add -f) ist kein ignoriertes Ziel: Unveraendert
gegenueber HEAD bleibt ein Befund."""
_ignoriert(projekt, mat, task)
git(projekt, "add", "-f", "work/erst.py")
git(projekt, "commit", "-q", "-m", "erzwungen")
FAELLE = [
("Grundlinie", fall_grundlinie, 0, "0 Befund(e)."),
("fremde Datei im Baum", fall_fremde_datei, 2, "fremd.py: geaendert"),
@@ -174,6 +232,15 @@ FAELLE = [
# Seit 2026-09-18: Die Klammer hinter dem Pfad ist wahlfrei, Text dahinter erlaubt.
("Zieldateien ohne Klammer", fall_ohne_klammer_grundlinie, 0, "0 Befund(e)."),
("Zieldatei ohne Klammer weicht ab", fall_ohne_klammer_abweichung, 2, "a.py: weicht vom Plan ab -- Zeile 1"),
# Seit 2026-10-17: Zieldateien, die git ignoriert, werden byte-genau verglichen statt als unveraendert gemeldet.
("ignorierte Zieldateien gleich", fall_ignoriert_gleich, 0, "4 byte-gleich mit der Kopie, 1 nur als Menge geprueft, 2 von git ignoriert."),
("ignorierte erste Zieldatei weicht ab", fall_ignoriert_erste_weicht_ab, 2, "work/erst.py: weicht vom Plan ab -- Zeile 1"),
("ignorierte letzte Zieldatei weicht ab", fall_ignoriert_letzte_weicht_ab, 2, "work/letzt.py: weicht vom Plan ab -- Zeile 2"),
("ignorierte Zieldatei fehlt im Baum", fall_ignoriert_fehlt_im_baum, 2, "work/letzt.py: Zieldatei fehlt im Baum"),
("ignorierte Zieldatei fehlt in der Kopie", fall_ignoriert_fehlt_in_kopie, 2, "work/erst.py: fehlt in der Kopie"),
("ignorierte Zieldatei geloescht", fall_ignoriert_geloescht, 0, "0 Befund(e)."),
("ignorierte Loeschung nicht ausgefuehrt", fall_ignoriert_nicht_geloescht, 2, "work/letzt.py: soll geloescht sein, steht aber noch im Baum"),
("getrackte Datei unter ignoriertem Muster unveraendert", fall_ignoriert_getrackt, 2, "work/erst.py: Zieldatei ist unveraendert"),
]