README: Rückfallebene dokumentieren, wenn git pull scheitert
Der Befehl stand bisher nur in den Antworten im Chat, nicht im Repo — genau die Sorte Wissen, die verloren geht. Aufgenommen mit dem Grund dahinter: 'fatal: early EOF' beim Klonen ist ein serverseitiges Problem, upload-pack stirbt beim Schnüren des Pakets, während die Objekte heil sind. Erkennbar daran, dass sich ein Archiv weiterhin erzeugen lässt — und genau darauf weicht init-phone.sh aus. Ausdrücklich dabei: das Ergebnis ist ein Abzug ohne .git. 'git pull' geht damit nicht mehr, und derselbe Befehl stellt später auch die Arbeitskopie wieder her, sobald der Server sich erholt hat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,32 @@ Dadurch liegt dort eine echte Arbeitskopie — spätere Änderungen brauchen kei
|
||||
cd ~/hpos && git pull
|
||||
```
|
||||
|
||||
**Wenn `git pull` scheitert:**
|
||||
|
||||
```bash
|
||||
rm -rf ~/hpos && bash /sdcard/hpos-init.sh
|
||||
```
|
||||
|
||||
Das Startskript versucht zuerst wieder einen Klon und weicht, falls der Server keine
|
||||
Pakete ausliefert, auf den Archiv-Endpunkt aus (`/archive/main.tar.gz`). Der geht
|
||||
nicht über `git upload-pack` und funktioniert deshalb auch dann noch.
|
||||
|
||||
Das Ergebnis ist dann allerdings **ein Abzug, keine Arbeitskopie** — `git pull` geht
|
||||
damit nicht mehr, jede Aktualisierung braucht denselben Befehl erneut. Sobald der
|
||||
Server wieder Pakete liefert, stellt genau dieser Befehl auch die Arbeitskopie
|
||||
wieder her.
|
||||
|
||||
Typische Meldung, wenn es so weit ist:
|
||||
|
||||
```
|
||||
fatal: early EOF
|
||||
fatal: fetch-pack: invalid index-pack output
|
||||
```
|
||||
|
||||
Das ist ein serverseitiges Problem — `upload-pack` stirbt beim Schnüren des Pakets,
|
||||
während die Objekte selbst heil sind. Erkennbar daran, dass sich ein Archiv weiterhin
|
||||
erzeugen lässt.
|
||||
|
||||
Details, Stellschrauben und was bei Fehlschlägen zu tun ist:
|
||||
[`spike/README.md`](spike/README.md).
|
||||
|
||||
|
||||
@@ -94,11 +94,19 @@ bash spike/04-s4-intent-handoff.sh
|
||||
|
||||
```bash
|
||||
cd ~/hpos && git pull
|
||||
|
||||
# Falls das scheitert (Server liefert keine Pakete aus):
|
||||
rm -rf ~/hpos && bash /sdcard/hpos-init.sh
|
||||
```
|
||||
|
||||
Per adb kommt bewusst nur das Startskript aufs Telefon, nicht das Repo selbst.
|
||||
Dadurch liegt dort eine echte Arbeitskopie statt einer Kopie.
|
||||
|
||||
Der zweite Befehl weicht auf den Archiv-Endpunkt aus, wenn `git clone` am Server
|
||||
scheitert. Das Ergebnis ist dann ein Abzug ohne `.git` — `git pull` geht damit nicht
|
||||
mehr, und jede Aktualisierung braucht denselben Befehl erneut. Sobald der Server
|
||||
wieder Pakete liefert, stellt er auch die Arbeitskopie wieder her.
|
||||
|
||||
Jedes Skript fragt am Ende nach deiner Beurteilung und schreibt sie nach
|
||||
`spike/out/ergebnisse.tsv`. Rohprotokolle liegen daneben in `spike/out/*.log`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user