Perche il locking conta
Alcuni file non possono essere mergati. Un modello 3D in .fbx, un file Photoshop in .psd, un assemblaggio CAD.
Il modello di locking di Perforce
p4 edit character.fbx
p4 submit -d "Update rig"
p4 lock character.fbx
p4 unlock character.fbx
Il modello nativo di Git
Git non ha concetto di lock esclusivi.
Locking file di 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
Confronto delle esperienze
Il locking Perforce e integrato, veloce e legato direttamente al file. Il locking Git LFS richiede:
- Un server LFS che supporta l'API di locking.
- Voci
.gitattributes. - Disciplina di
git lfs lock. - Un push che cancella il lock.
Storage binario
Perforce memorizza i binari efficientemente.
Diff e merge
Entrambi i sistemi possono integrare strumenti diff e merge personalizzati.
Dimensione working tree
p4 sync di Perforce puo recuperare solo directory specificate.
Auditabilita
Il modello centralizzato di Perforce da log di audit chiari.
Il pattern ibrido
Molti studi usano Git per il codice e Perforce per il contenuto.
Quando usare ognuno
- Workflow binary-heavy, locking-essenziale → Perforce.
- Workflow code-heavy, distribuito, PR-driven → Git.
- Misto → eseguire entrambi.