Contexte
Le clone du dépôt est devenu très long (onboarding d'une nouvelle machine). Mesure sur master 0bf77852 :
.git local = 2,2 GB (size-pack 2,01 GiB, 7 packs) ; GitHub diskUsage = 2,12 GB.
- Or le contenu utile est essentiellement textuel (CSV, C#, Markdown, templates JSON/Mustache). La lourdeur vient de binaires versionnés dans git — à la fois au HEAD et accumulés dans l'historique.
Constat (mesuré)
A. Encore trackés au HEAD (~1,4 GB de binaires)
| Zone |
Taille |
Nature |
Régénérable ? |
Generation/Converters/.../Published/v1.x/ |
768 MB (13 fichiers) |
Binaires .NET publiés (osx/linux/win .zip, .exe, splits .001/.002/...) re-commités à chaque version v1→v1.3 |
✅ oui (build) |
DNNPlatform/Portals/1/Downloads/*.zip |
205 MB |
Zips Print&Play distribuables (cartes numériques, A0, A4...) |
✅ oui (pipeline) |
DNNPlatform/App_Data/ExtensionPackages/Module_2SexyContent_*.resources |
124 MB |
Packages d'install 2sxc 14.x + 15.x |
✅ oui (re-téléchargeables) |
.png (cartes) |
~240 MB |
Images de cartes |
⚠️ partiellement (pipeline) |
.svg dont Argumentum_Fallacies_MindMap_Fr_4.svg (25 MB) |
~99 MB |
Mind maps + packaging |
⚠️ certains régénérables |
Sources design : Generation/Sketch/argumentum.sketch (45 MB), Cards/Packaging/*.ai/*.pdf/*.svg |
~90 MB |
Sources Illustrator/Sketch |
❌ sources, à préserver |
B. Dans l'historique seul (gonfle le pack, invisible au HEAD)
- Published/ re-commité à chaque version : top blobs =
osx-x64.zip 83 MB, linux-x64.zip 80 MB (×plusieurs), win-x64.zip 72 MB (×plusieurs)… chaque release re-commit ~70-83 MB.
- Arbre legacy dupliqué
Cartes/Generation/Converters/.../Published/v1/ : 0 octet au HEAD (supprimé) mais binaires Argumentum.AssetConverter.exe ~70-79 MB toujours présents dans les packs.
Plan proposé (3 phases)
Phase 1 — non destructif, immédiat (PR normale)
- Étendre
.gitignore : **/Published/, **/bin/, **/obj/, DNNPlatform/Portals/*/Downloads/*.zip, DNNPlatform/App_Data/ExtensionPackages/*.resources.
git rm --cached -r sur les binaires trackés régénérables (Published/, Downloads zips, .resources) — après preuve de préservation (vérifier qu'un build/pipeline ou GitHub Release les reconstitue).
- Trancher le sort des sources design (.sketch/.ai/gros .svg) : Git LFS ou stockage externe (GDrive
.shared-state / Releases).
⚠️ La Phase 1 ne réduit PAS .git (le clone reste ~2 GB) : elle stoppe la croissance future et allège le checkout de travail. Le gain sur le clone vient de la Phase 2.
Phase 2 — réécriture d'historique (DESTRUCTIF, gated sur feu vert jsboige)
git filter-repo pour purger les gros blobs de l'historique : Published/, Cartes/ (arbre legacy), Downloads/*.zip, App_Data/.../*.resources.
- Gain attendu : ~2 GB → < 200 MB (clone quasi instantané).
- ⚠️ Réécrit tous les SHAs → implique : sauvegarde complète préalable, force-push coordonné, toutes les machines re-clonent, refs/PR anciennes invalidées. Décision jsboige obligatoire (action non réversible côté collaborateurs).
Phase 3 — politique assets pérenne
Débloquer l'onboarding myia-po-2024 tout de suite (interim, sans attendre la cleanup)
- Clone partiel (recommandé, garde l'historique complet à la demande) :
git clone --filter=blob:none https://github.com/ArgumentumGames/Argumentum.git
- ou shallow (le plus rapide, sans historique) :
git clone --depth=1 ...
Garde-fous
- Aucune suppression sans preuve de préservation (cf. règle projet) : les Published/Downloads/.resources sont a priori régénérables, mais vérifier au cas par cas avant
rm --cached et avant filter-repo.
- Phase 2 strictement après sauvegarde + go explicite jsboige.
Mesures : git count-objects -vH, git rev-list --objects --all | git cat-file --batch-check, git ls-tree -r -l HEAD sur master 0bf77852 (2026-06-01).
Contexte
Le clone du dépôt est devenu très long (onboarding d'une nouvelle machine). Mesure sur master
0bf77852:.gitlocal = 2,2 GB (size-pack2,01 GiB, 7 packs) ; GitHubdiskUsage= 2,12 GB.Constat (mesuré)
A. Encore trackés au HEAD (~1,4 GB de binaires)
Generation/Converters/.../Published/v1.x/.zip,.exe, splits.001/.002/...) re-commités à chaque version v1→v1.3DNNPlatform/Portals/1/Downloads/*.zipDNNPlatform/App_Data/ExtensionPackages/Module_2SexyContent_*.resources.png(cartes).svgdontArgumentum_Fallacies_MindMap_Fr_4.svg(25 MB)Generation/Sketch/argumentum.sketch(45 MB),Cards/Packaging/*.ai/*.pdf/*.svgB. Dans l'historique seul (gonfle le pack, invisible au HEAD)
osx-x64.zip83 MB,linux-x64.zip80 MB (×plusieurs),win-x64.zip72 MB (×plusieurs)… chaque release re-commit ~70-83 MB.Cartes/Generation/Converters/.../Published/v1/: 0 octet au HEAD (supprimé) mais binairesArgumentum.AssetConverter.exe~70-79 MB toujours présents dans les packs.Plan proposé (3 phases)
Phase 1 — non destructif, immédiat (PR normale)
.gitignore:**/Published/,**/bin/,**/obj/,DNNPlatform/Portals/*/Downloads/*.zip,DNNPlatform/App_Data/ExtensionPackages/*.resources.git rm --cached -rsur les binaires trackés régénérables (Published/, Downloads zips, .resources) — après preuve de préservation (vérifier qu'un build/pipeline ou GitHub Release les reconstitue)..shared-state/ Releases).Phase 2 — réécriture d'historique (DESTRUCTIF, gated sur feu vert jsboige)
git filter-repopour purger les gros blobs de l'historique :Published/,Cartes/(arbre legacy),Downloads/*.zip,App_Data/.../*.resources.Phase 3 — politique assets pérenne
Débloquer l'onboarding
myia-po-2024tout de suite (interim, sans attendre la cleanup)git clone --filter=blob:none https://github.com/ArgumentumGames/Argumentum.gitgit clone --depth=1 ...Garde-fous
rm --cachedet avant filter-repo.Mesures :
git count-objects -vH,git rev-list --objects --all | git cat-file --batch-check,git ls-tree -r -l HEADsur master0bf77852(2026-06-01).