Pourquoi le verrouillage compte
Certains fichiers ne peuvent pas être mergés. Un modèle 3D en .fbx, un fichier Photoshop en .psd, un assemblage CAD — tous sont binaires.
Le modèle de verrouillage de Perforce
p4 edit character.fbx
p4 submit -d "Update rig"
p4 lock character.fbx
p4 unlock character.fbx
Le modèle natif de Git
Git n'a pas de concept de verrous exclusifs.
Verrouillage de fichiers Git LFS
git lfs lock character.fbx
git lfs unlock character.fbx
git lfs locks
# .gitattributes
*.fbx filter=lfs diff=lfs merge=lfs -text lockable
*.psd filter=lfs diff=lfs merge=lfs -text lockable
Comparer les expériences
Le verrouillage Perforce est intégré et rapide. Le verrouillage Git LFS nécessite un serveur LFS qui supporte l'API de verrouillage.
Stockage binaire
Perforce stocke les binaires efficacement avec compression delta. Git LFS stocke les binaires sur un object store séparé.
Diff et merge
Les deux systèmes peuvent intégrer des outils diff et merge custom pour les binaires.
Taille de l'arbre de travail
Le p4 sync de Perforce peut récupérer seulement les répertoires spécifiés. Le sparse checkout de Git atteint des résultats similaires.
Auditabilité
Le modèle centralisé de Perforce donne des logs d'audit clairs. Le modèle distribué de Git signifie que les logs dépendent de ce qui atteint le serveur.
Le pattern hybride
Beaucoup de studios utilisent Git pour le code et Perforce pour le contenu.
Quand utiliser chacun
- Workflow binary-heavy, verrouillage essentiel → Perforce.
- Workflow code-heavy, distribué, dirigé par PR → Git.
- Mixte → faites tourner les deux.