"Якщо у вас є завдання, яке можна виконати за шість годин, краще написати інструмент, який виконує це за 20 хвилин, навіть коли на створення інструменту йде шість годин?"
Розподілений контроль над версіями - це інший звір, з яким потрібно боротися. Це вимагає значного навчання для кожного розробника. Якщо у вас є буфер для розміщення навчального процесу для кожного розробника, вам слід перейти до гарної розподіленої системи управління версіями. Після завершення фази навчання розподілене управління версіями набагато краще, ніж централізоване управління версіями.
Здається, розподілене управління версіями є подій. Тут ми тримаємося дуже довго, краще, щоб ми адаптувалися до цього раніше, ніж пізніше. Я пам’ятаю ту саму дискусію, коли SVN був новим, і люди звикли до CVS, було багато аргументів за те, що SVN не використовується, але з часом SVN стала найпопулярнішою системою управління версіями.
Якщо компанія добре зарекомендувала себе з великою кількістю вихідного коду в існуючій системі управління версіями, перехід до нової системи є великим завданням, але якщо компанія невелика або запускається, перейти до управління новою версією дуже просто. Але якщо ви будете дотримуватися управління старих версій (у нових налаштуваннях), ви потрапите у вузьке місце десь у майбутньому, де вам доведеться все-таки планувати міграцію управління версіями.
Я бачив чимало коментарів про SVN, але всі вони мають характер "SVN не поганий", а не "SVN є кращим". Тому я настійно рекомендую обрати для свого проекту розподілене керування версіями (наприклад, Git).
EDIT
Переваги GIT над SVN
Не потрібний виділений сервер Насправді обидва можна використовувати без сервера.
- Може продовжувати розробку навіть без підключення до мережі.
- Управління філіями набагато простіше.
- Краща підтримка таких інструментів CI, як Bamboo
Хтось згадав інструментарій (для візуальної студії) як причину дотримуватися SVN. http://gitscc.codeplex.com/ надає підтримку GIT для Visual Studio.