Як зазначали інші, TFS надає вам набагато більше можливостей, ніж SVN, у формі управління проектами тощо. Скориставшись обома та працюючи з дуже великими компаніями у впровадженні TFS, ось мої два центи.
1) Якщо ви використовуєте TFS 2005, оновіть до TFS 2008. Ви будете дякувати мені. У TFS 2008 є маса вдосконалень, які роблять його дієвим.
2) Якщо ви живете в Visual Studio і хочете інтеграцію IDE, скористайтеся TFS. Я використовував інтеграцію SVN і майже завжди повертаюся до використання TortoiseSVN.
3) Якщо вам подобається ідея інтеграції облікових записів із автентифікацією Windows, скористайтеся TFS. Керованість з цього кінця приємна. Для SVN можуть бути гачки - я не впевнений, але якщо вам подобається керування графічним інтерфейсом, TFS важко обіграти.
4) Якщо вам потрібно відстежувати показники або у вас є простіші способи реалізації таких речей, як політика реєстрації, перейдіть до TFS.
5) Якщо у вас є люди, які не зможуть це реалізувати, якщо це не MSFT, перейдіть на TFS.
6) Якщо ви робите більше, ніж просто .NET (робота на Java, Eclipse тощо), використовуйте SVN. Так, є дуже хороші продукти (наприклад, Teamprise), які добре працюють з TFS. Але якщо інші мови не є невеликою частиною вашого магазину, просто дотримуйтесь SVN.
Поза цим, функції SCM обох приблизно еквівалентні. Обидва вони виконують розгалуження та злиття, обидва проводять атомні реєстрації, обидва підтримують перейменування та переміщення. Я думаю, що для людей, які тільки починають працювати з концепцією розгалуження та злиття, приємно мати видимість гілок у Source Control Explorer.
TFS насправді не такий дорогий (1200 доларів, можливо?). Порівняно зі SVN, можливо. Інтеграція до служб звітування та SharePoint є приємною, але знову ж таки, якщо ви не використовуєте це, то це не має значення.
Що б я сказав, це завантажити 180-денну пробну версію TFS і спробувати. Запустіть пробну програму поруч. Я думаю, ти будеш щасливий незалежно від того, в який бік ти підеш.