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

La diferencia arquitectónica

Subversion es centralizado: un servidor sostiene el repositorio canónico; los clientes mantienen copias de trabajo. Sin el servidor, puedes editar archivos pero no commitear, hacer log, branch o merge.

Git es distribuido: cada clone es un repositorio completo.

Lo que habilita "distribuido"

  • Commits offline.
  • Experimentación local.
  • Recuperación ante desastres.
  • Workflows multi-master.
  • Desacoplar código de un proveedor.

Lo que habilita la centralización

  • Una sola fuente de verdad.
  • Control de acceso por ruta.
  • Números de revisión secuenciales.
  • Locking.

Comparación práctica

# Offline en Git
git commit -m "WIP"
git log
git diff HEAD~5
git checkout -b experiment

# Mismas operaciones en SVN, offline:
svn commit       # error
svn log          # error
svn diff -r 100   # error

Trabajo móvil y remoto

La década entre los apogeos de SVN y Git vio el surgimiento del desarrollo móvil, el commute en tren, las conferencias y el trabajo remoto global.

Recuperación ante desastres

# Git: recuperar repo central desde un clone
git clone --mirror /path/to/laptop/clone backup.git
cd backup.git
git remote add origin git@new-host:repo.git
git push --mirror origin

# SVN: requiere dumpfile del lado servidor
svnadmin dump /var/svn/repo > repo.dump

Advertencias con distribuido

  • Distribuido crea una pregunta de coordinación — ¿qué clone es canónico?
  • Los forks pueden divergir silenciosamente.
  • La auditoría requiere infraestructura explícita.

Híbrido

Herramientas como git-svn puentean los dos.