Abgleich meldet „synchronisiert“ und lädt nichts hoch, wenn das Repository auf dem Server gelöscht und neu angelegt wurde #238

Closed
opened 2026-10-28 17:43:50 +00:00 by alf · 2 comments
Owner

Das Studio-Vault ist mit dem Repository alf/iris-vault-mac-studio verbunden. Das Repository wurde auf dem Forgejo gelöscht und leer neu angelegt (empty: true, git ls-remote zeigt keine Referenzen). Die Lampe steht trotzdem auf grün („synchronisiert“), und „Synchronisieren“ dreht ein paar Sekunden und tut nichts: Es wird nichts hochgeladen.

Ursache

Im Studio-Vault steht noch refs/remotes/origin/main = 569bbf405 vom früheren Push in die erste Fassung des Repositorys. Der Abgleich glaubt dieser lokalen Verfolgungs-Referenz mehr als dem Server: ahead ist 0, _push_locked / pushLocked kehrt mit „nichts zu pushen“ zurück, die Lampe bleibt grün, und git-lfs hielte die Anhänge ohnehin für schon übertragen (iris/Iris#236). Dasselbe passiert, wenn auf dem Server der Zweig gelöscht wird.

Behoben

Meldet ls-remote für den Zweig „nicht vorhanden“ (Exit 2), obwohl der Server erreichbar ist, wird die veraltete Verfolgungs-Referenz verworfen (probe im Linux-Server, probe / VaultSyncGit.discardStaleTrackingRef im Mac-Server). Danach gilt alles Lokale als „noch hochzuladen“, der nächste Push (Änderungserkennung alle 60 s oder „Synchronisieren“) lädt Zeiger und Anhänge hoch.

Nicht Teil dieses Issues

  • Die Lampe zeigt bis zur nächsten Abfrage des Servers (höchstens 60 s) weiter „synchronisiert“.
  • Die Mac-App, die gerade auf dem Studio läuft, ist ein älterer Stand; die Korrektur kommt erst nach einem Neubau.
Das Studio-Vault ist mit dem Repository `alf/iris-vault-mac-studio` verbunden. Das Repository wurde auf dem Forgejo gelöscht und leer neu angelegt (`empty: true`, `git ls-remote` zeigt keine Referenzen). Die Lampe steht trotzdem auf grün („synchronisiert“), und „Synchronisieren“ dreht ein paar Sekunden und tut nichts: Es wird nichts hochgeladen. ## Ursache Im Studio-Vault steht noch `refs/remotes/origin/main = 569bbf405` vom früheren Push in die erste Fassung des Repositorys. Der Abgleich glaubt dieser lokalen Verfolgungs-Referenz mehr als dem Server: `ahead` ist 0, `_push_locked` / `pushLocked` kehrt mit „nichts zu pushen“ zurück, die Lampe bleibt grün, und git-lfs hielte die Anhänge ohnehin für schon übertragen (iris/Iris#236). Dasselbe passiert, wenn auf dem Server der Zweig gelöscht wird. ## Behoben Meldet `ls-remote` für den Zweig „nicht vorhanden“ (Exit 2), obwohl der Server erreichbar ist, wird die veraltete Verfolgungs-Referenz verworfen (`probe` im Linux-Server, `probe` / `VaultSyncGit.discardStaleTrackingRef` im Mac-Server). Danach gilt alles Lokale als „noch hochzuladen“, der nächste Push (Änderungserkennung alle 60 s oder „Synchronisieren“) lädt Zeiger **und** Anhänge hoch. ## Nicht Teil dieses Issues - Die Lampe zeigt bis zur nächsten Abfrage des Servers (höchstens 60 s) weiter „synchronisiert“. - Die Mac-App, die gerade auf dem Studio läuft, ist ein älterer Stand; die Korrektur kommt erst nach einem Neubau.
Author
Owner

PR #125 gemergt: fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (iris/Iris#238)
iris/iris-linux-server#125

Commits:

  • fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (iris/Iris#238)

Stand 2026-10-28: Korrektur gebaut (Linux-Server und Mac-Server)

  • Geändert: Linux-Server probe (vault_git_sync.py) und Mac-Server probe (VaultSyncController.swift) mit neuem VaultSyncGit.discardStaleTrackingRef (VaultSyncCore.swift): erreichbarer Server ohne den Zweig, aber lokale Verfolgungs-Referenz vorhanden → Referenz verwerfen.
  • Geprüft: Linux-Server tests/test_vault_git_sync.py und tests/test_vault_sync_routes.py: 92 grün, 1 übersprungen. Der neue Test (Repository gelöscht und leer neu angelegt, mit LFS-Anhang) schlägt ohne die Korrektur fehl (ahead bleibt 0) und besteht mit ihr: nach probe und push liegen Datei und Anhang auf dem neuen Server. Mac-Kern scripts/test-vault-sync-core.sh: 253 Prüfungen, 0 Fehler; Schemes Iris und IrisClient bauen.
  • Nicht geprüft: der Controller-Pfad der Mac-App selbst (die Probe liegt im Controller, im Kern getestet ist nur discardStaleTrackingRef); die Mac-App auf dem Studio (nicht neu gebaut); gegen einen echten Forgejo.
  • Nicht deployt.
PR #125 gemergt: fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (iris/Iris#238) https://forgejo.lewerken.duckdns.org/iris/iris-linux-server/pulls/125 Commits: - fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (iris/Iris#238) --- **Stand 2026-10-28: Korrektur gebaut (Linux-Server und Mac-Server)** - **Geändert:** Linux-Server `probe` (`vault_git_sync.py`) und Mac-Server `probe` (`VaultSyncController.swift`) mit neuem `VaultSyncGit.discardStaleTrackingRef` (`VaultSyncCore.swift`): erreichbarer Server ohne den Zweig, aber lokale Verfolgungs-Referenz vorhanden → Referenz verwerfen. - **Geprüft:** Linux-Server `tests/test_vault_git_sync.py` und `tests/test_vault_sync_routes.py`: 92 grün, 1 übersprungen. Der neue Test (Repository gelöscht und leer neu angelegt, mit LFS-Anhang) schlägt ohne die Korrektur fehl (`ahead` bleibt 0) und besteht mit ihr: nach `probe` und `push` liegen Datei und Anhang auf dem neuen Server. Mac-Kern `scripts/test-vault-sync-core.sh`: 253 Prüfungen, 0 Fehler; Schemes Iris und IrisClient bauen. - **Nicht geprüft:** der Controller-Pfad der Mac-App selbst (die Probe liegt im Controller, im Kern getestet ist nur `discardStaleTrackingRef`); die Mac-App auf dem Studio (nicht neu gebaut); gegen einen echten Forgejo. - **Nicht deployt.**
Author
Owner

PR #239 gemergt: fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (#238)
#239

Commits:

  • fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (#238)

Stand 2026-10-28: Korrektur gebaut (Linux-Server und Mac-Server)

  • Geändert: Linux-Server probe (vault_git_sync.py) und Mac-Server probe (VaultSyncController.swift) mit neuem VaultSyncGit.discardStaleTrackingRef (VaultSyncCore.swift): erreichbarer Server ohne den Zweig, aber lokale Verfolgungs-Referenz vorhanden → Referenz verwerfen.
  • Geprüft: Linux-Server tests/test_vault_git_sync.py und tests/test_vault_sync_routes.py: 92 grün, 1 übersprungen. Der neue Test (Repository gelöscht und leer neu angelegt, mit LFS-Anhang) schlägt ohne die Korrektur fehl (ahead bleibt 0) und besteht mit ihr: nach probe und push liegen Datei und Anhang auf dem neuen Server. Mac-Kern scripts/test-vault-sync-core.sh: 253 Prüfungen, 0 Fehler; Schemes Iris und IrisClient bauen.
  • Nicht geprüft: der Controller-Pfad der Mac-App selbst (die Probe liegt im Controller, im Kern getestet ist nur discardStaleTrackingRef); die Mac-App auf dem Studio (nicht neu gebaut); gegen einen echten Forgejo.
  • Nicht deployt.
PR #239 gemergt: fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (#238) https://forgejo.lewerken.duckdns.org/iris/Iris/pulls/239 Commits: - fix(vault-sync): veraltete Verfolgungs-Referenz verwerfen, wenn der Server den Zweig nicht kennt (#238) --- **Stand 2026-10-28: Korrektur gebaut (Linux-Server und Mac-Server)** - **Geändert:** Linux-Server `probe` (`vault_git_sync.py`) und Mac-Server `probe` (`VaultSyncController.swift`) mit neuem `VaultSyncGit.discardStaleTrackingRef` (`VaultSyncCore.swift`): erreichbarer Server ohne den Zweig, aber lokale Verfolgungs-Referenz vorhanden → Referenz verwerfen. - **Geprüft:** Linux-Server `tests/test_vault_git_sync.py` und `tests/test_vault_sync_routes.py`: 92 grün, 1 übersprungen. Der neue Test (Repository gelöscht und leer neu angelegt, mit LFS-Anhang) schlägt ohne die Korrektur fehl (`ahead` bleibt 0) und besteht mit ihr: nach `probe` und `push` liegen Datei und Anhang auf dem neuen Server. Mac-Kern `scripts/test-vault-sync-core.sh`: 253 Prüfungen, 0 Fehler; Schemes Iris und IrisClient bauen. - **Nicht geprüft:** der Controller-Pfad der Mac-App selbst (die Probe liegt im Controller, im Kern getestet ist nur `discardStaleTrackingRef`); die Mac-App auf dem Studio (nicht neu gebaut); gegen einen echten Forgejo. - **Nicht deployt.**
alf 2026-10-31 09:12:00 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/Iris#238
No description provided.