docs(sync): note l'idee d'un bouton Reinitialiser l'historique, sans la faire
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1083,6 +1083,35 @@ QR que l'application Android scanne elle-meme.
|
||||
toutes les icones, ce qui reduisait le QR a la taille d'une icone. La taille
|
||||
est donc posee **en style direct** sur le `<svg>`.
|
||||
|
||||
### Idee gardee : « Reinitialiser l'historique » du depot de synchro
|
||||
|
||||
**Rien n'est fait, et le code actuel reste tel quel** (decide le 2026-09-17).
|
||||
Chaque synchro est un commit, donc le depot garde TOUS les instantanes
|
||||
precedents. Ca ne coute rien en place (Git ne stocke que les differences,
|
||||
86 commits au 2026-09-17), mais **apres un changement de mot de passe de
|
||||
synchro les anciens restent dechiffrables avec l'ancien** - c'est la seule
|
||||
raison de vouloir les couper.
|
||||
|
||||
- **L'application ne peut pas le faire par l'API des contenus de Gitea** :
|
||||
elle sait ajouter un commit, rien d'autre. Supprimer des commits demande
|
||||
un `git push --force`, donc un client git dans l'exe.
|
||||
- **Ce qui serait possible par l'API** : `DELETE /repos/…` puis
|
||||
`POST /user/repos`, puis republier. **Ecarte en automatique** : entre les
|
||||
deux, le depot ne contient plus rien - une coupure reseau la et la copie
|
||||
distante est perdue -, et le jeton devrait porter le droit de supprimer un
|
||||
depot, ce qui en fait une bien plus grosse prise s'il fuit.
|
||||
- **La forme retenue le jour ou on le fera** : un bouton
|
||||
« Reinitialiser l'historique » dans Settings -> Sync, avec confirmation,
|
||||
jamais a chaque synchro.
|
||||
- **En attendant**, la commande manuelle sur un clone, apres une rotation du
|
||||
mot de passe de synchro :
|
||||
```
|
||||
git checkout --orphan tronque HEAD~10 && git commit -m "historique tronque"
|
||||
git rebase --onto tronque HEAD~10 main && git push --force origin main
|
||||
```
|
||||
Sans danger pour les appareils : Gitea identifie le fichier par le hachage
|
||||
de son **contenu**, que la reecriture d'historique ne change pas.
|
||||
|
||||
**Tombstone purge on (re)create** : `POST /entries` and
|
||||
`POST /entries/bulk-import` both DELETE any `entry_tombstones` row
|
||||
matching the inserted uuid (same transaction). Without this, restoring
|
||||
|
||||
Reference in New Issue
Block a user