Files
laws-git/README.md
LawGit Spiegel 439df44a59 Initialer Spiegel
BGBl-Id: spiegel-init
2026-08-17 10:33:30 +02:00

67 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
19492022: 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:
```bash
# 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.
```bash
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):
```bash
git -C laws_git remote add origin git@git.coded.law:michaelkole/laws-git.git
git -C laws_git push -u origin main
```