Da Anonimo (non verificato) , 29 Aprile 2026

Due filosofie

Subversion (SVN), rilasciato nel 2000, e un sistema di controllo versione centralizzato. Git, rilasciato nel 2005, e distribuito.

Modelli mentali

Il modello mentale di SVN e l'archivio: un posto condiviso. Il modello di Git e piu come l'email.

Cosa SVN ha fatto bene

  • Semplice da spiegare.
  • Access control granulare.
  • File locking per binari non mergeabili.
  • Numeri di revisione lineari.
  • Stabile per repository molto grandi.

Cosa Git ha fatto bene

  • Branch e merge economici.
  • Storia locale completa.
  • Modello distribuito.
  • Content addressing basato su SHA.
  • Ecosistema vasto.

Comandi quotidiani a confronto

# SVN
svn checkout https://svn.example.com/repo
svn update
svn add file.txt
svn commit -m "Add file"
svn log

# Git
git clone https://git.example.com/repo.git
git pull
git add file.txt
git commit -m "Add file"
git push
git log

Branching

# SVN branch
svn copy https://svn.example.com/repo/trunk \
         https://svn.example.com/repo/branches/feature -m "Branch"

# Git branch
git checkout -b feature

Perche Git ha vinto quote di mercato

Tre fattori: gli effetti di rete di GitHub dal 2008, la dominanza di Linux e la scelta del kernel di Git, e l'ascesa del cloud.

Quando SVN rimane sensato

  • Grandi repository binari.
  • Ambienti strettamente controllati.
  • Pipeline tooling consolidate.

Coesistenza

Strumenti come git-svn consentono ai team di usare Git localmente contro un server SVN.