Fundstelle: BGBl. 2021 I S. 3003 Inkrafttreten: 2021-07-23 (§§ 1 und 2, § 5 Absatz 3, § 6 Absatz 2 und 3, § 9 Absatz 2, § 10 Absatz 4 und 5, § 15 Absatz 3 und 4, § 19 Absatz 2, § 20 Absatz 2 und 3, § 23 Absatz 2, § 24, § 27 Absatz 2, § 28, § 31 Absatz 2, § 33 Absatz 1 sowie die §§ 34 und 35); ? (Im Übrigen tritt dieses Gesetz an dem Tag in Kraft, der auf den Tag folgt, an dem die Europäische Kommission den Durchführungsbeschluss mit der Genehmigung des durch den Europäischen Garantiefonds für die Landwirtschaft und den Europäischen Landwirtschaftsfonds für die Entwicklung des ländlichen Raums zu finanzierenden Strategieplans für Deutschland gefasst hat.) Quelle: offenegesetze Parser: llm Eine Verkündung = ein Commit. Stammnorm-Ordner nur, wenn zugeordnet. Historischer Paragraphentext fehlt oft; siehe FASSUNG.md / STELLEN.md. Verkündung: 2021-07-22 BGBl-Id: bgbl1-2021-46-10
Git-Spiegel der Fassungen (laws_git/)
Nachvollziehbare Geschichte der Bundesgesetze als eigenes Git-Repository.
Das Eltern-Repo lawgit bleibt die Arbeitskopie (Parser, UI, Markdown von
gesetze-im-internet.de). laws_git/ ist ein verschachteltes Git-Repo und liegt
absichtlich nicht auf main (außer dieser Anleitung).
Eine Verkündung = ein Commit. Datum des Commits ist das Verkündungsdatum.
Was man hier sieht
| Aktion | Bedeutung |
|---|---|
git log --oneline -- verkuendungen/ |
alle Blätter chronologisch |
git show HEAD:verkuendungen/2024/bgbl1-2024-167-1.md |
Metadaten einer Verkündung |
git log --oneline -- bgb/ |
nur Stationen, die dem BGB zugeordnet sind, plus heutiger GII-Text |
git show HEAD:bgb/§1.md |
heutiger Wortlaut von § 1 |
Ehrlich: Den vollen historischen Paragraphentext haben wir meist nicht.
Ältere Commits tragen Metadaten (FASSUNG.md, STELLEN.md) statt eines
erfundenen Altwortlauts. Der letzte Commit eines Gesetzesordners ist die
konsolidierte Fassung von gesetze-im-internet.de.
2023+ stammt aus der Heuristik (recht.bund.de): Fundstelle und Titel sind
belastbar, Stammnorm-Ordner nur wenn der Kurztitel eine bekannte Norm nennt.
1949–2022: LLM-Parse, lückenhaft solange --holen nicht den vollen Bestand hat.
Git-Datum vor 1970: Apple Git akzeptiert keine Author-Daten vor 1970.
Diese Commits liegen intern auf dem 1.1.1970 (Reihenfolge bleibt).
Die echte Verkündung steht in der Commit-Message und in verkuendungen/.
Git = Fassungsgeschichte. Die Postgres-Datenbank bleibt für Abfragen.
Bauen und nachziehen
Im Eltern-Repo:
# Alles neu schreiben (Demo-Kette verwerfen)
python3 build_laws_git.py --rebuild
# Nur nachziehen (idempotent über Trailer `BGBl-Id:`)
python3 build_laws_git.py
# Ein Gesetz / Test
python3 build_laws_git.py --law bgb --rebuild
python3 build_laws_git.py --dry-run --limit 20
Quellen: timeline/parsed/ (lawgit, GPU-Historie) und
../gesetzblatt/timeline/parsed/ (recht.bund.de ab 2023).
Kein Force-Push.
git -C laws_git log --oneline -- verkuendungen/
git -C laws_git log --oneline -- bgb/
git -C laws_git blame bgb/§1.md
Optional zweites Remote (nicht main von lawgit):
git -C laws_git remote add origin git@git.coded.law:michaelkole/laws-git.git
git -C laws_git push -u origin main