Fundstelle: BGBl. 1994 I S. 1371 Inkrafttreten: 1994-04-19 (deutsch-pakistanisches Abkommen über Finanzielle Zusammenarbeit); 1994-04-26 (Pariser Verbandsübereinkunft zum Schutz des gewerblichen Eigentums, Madrider Abkommen über die internationale Registrierung von Marken); 1994-05-02 (Internationales Übereinkommen von 1978 über Normen für die Ausbildung, die Erteilung von Befähigungszeugnissen und den Wachdienst von Seeleuten, Übereinkommen von New York vom 31. März 1953 über die politischen Rechte der Frau); 1994-05-04 (Übereinkommen über die Rechte des Kindes, Übereinkommen über die Vorrechte und Immunitäten der Vereinten Nationen); 1994-05-06 (Europäisches Übereinkommen zum Schutz archäologischen Kulturguts, Protokoll vom 8. Juli 1985 zu dem Übereinkommen von 1979 über weiträumige grenzüberschreitende Luftverunreinigung betreffend die Verringerung von Schwefelemissionen, Protokoll zu dem Übereinkommen von 1979 über weiträumige grenzüberschreitende Luftverunreinigung betreffend die Bekämpfung von Emissionen von Stickstoffoxiden, Änderung von 1990 des Montrealer Protokolls über Stoffe, die zu einem Abbau der Ozonschicht führen, Europäisches Übereinkommen über die akademische Anerkennung von akademischen Graden und Hochschulzeugnissen, Wiener Übereinkommen zum Schutz der Ozonschicht); 1994-05-30 (Festlegung der Gebührensätze und Transatlantiktarife nach dem Internationalen Übereinkommen über die Zusammenarbeit in der Flugsicherung (EUROCONTROL)); 1994-05-31 (Übereinkommen von 1971 über psychotrope Stoffe) 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: 1994-06-29 BGBl-Id: bgbl1-1994-38-2
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