Por Anónimo (no verificado) , 29 Abril 2026

Enmarcar la decisión

"¿Qué VCS deberíamos usar?" rara vez tiene una respuesta correcta. El frame correcto es: "¿Qué restricciones impone nuestro trabajo, y qué sistema encaja mejor?"

Restricciones de carga de trabajo

  • Mayormente código texto, branching frecuente → Git.
  • Mayormente contenido binario, locks exclusivos esenciales → Perforce.
  • Mixto, con código y assets separables limpiamente → ejecuta ambos.
  • Control centralizado con branching simple → SVN sigue siendo aceptable.

Restricciones de equipo

  • Distribuido, a menudo offline → VCS distribuido.
  • Una sola sede, siempre online → cualquier modelo.
  • Mixto con no-ingenieros → UX más amigable importa.
  • Contribuidores open source → Git sin duda.

Restricciones de ecosistema

  • Modernidad de CI/CD → Git abrumadoramente.
  • Engine de juegos / tooling DCC → Perforce a menudo.
  • Infraestructura existente → la continuidad tiene valor real.

Restricciones de cumplimiento

  • Control de acceso por ruta → Perforce o SVN.
  • Auditoría del lado servidor de operaciones de lectura → sistemas centralizados.
  • Commits firmados → Git con tooling clase sigstore.

Restricciones de costo

  • Bootstrap sin presupuesto → Git en GitHub free tier, GitLab CE o Gitea.
  • Empresa financiada con necesidades binarias → Perforce se justifica.
  • Equipo SaaS de tamaño medio → tier de pago de GitHub o GitLab.

Árbol de decisión

1. ¿Es la mayor parte de tu contenido binario no mergeable?
   Sí → Perforce (o Perforce + Git híbrido). Para.
   No → continúa.

2. ¿Necesitas control de acceso por ruta o auditoría de lectura?
   Sí → SVN, Perforce, o Git con inversión significativa en tooling.
   No → continúa.

3. ¿Los contribuidores trabajan offline o distribuidos?
   Sí → Git (o Mercurial). Continúa.
   No → cualquier modelo está bien.

4. ¿Necesitas ecosistema estilo GitHub?
   Sí → Git. Para.
   No → considera Mercurial por UX, SVN por centralización.

5. Default → Git.

Escenarios de muestra

  • Startup web SaaS, 5 ingenieros → Git en GitHub o GitLab.
  • Estudio de juegos, 200 personas → Perforce para assets, Git para código.
  • Agencia gubernamental regulada, 50 ingenieros → GitLab self-hosted.
  • Librería open source → Git en GitHub.
  • Tooling corporativo interno, 20 ingenieros → Git sigue siendo la respuesta.
  • Firma de diseño de hardware con trabajo CAD-heavy → Perforce.

Rutas de migración

# SVN a Git
git svn clone --stdlayout --authors-file=authors.txt <url>

# Mercurial a Git
~/fast-export/hg-fast-export.sh -r <hg-repo>

# Perforce a Git
git p4 clone //depot/main@all my-git-repo

Evitar parálisis de análisis

Si no puedes decidir, la respuesta es Git. Es el ecosistema más grande, la herramienta más familiar para nuevas contrataciones, y la más fácil de migrar después si fuera necesario.

Revisar la elección

Reevalúa cada dos años.