Это вещи немного разные. Цель то одна, контроль версий, но SVN централизованный, а перечисленные децентрализованные. Все зависит от характера разработки и взаимодействия разработчиков. Пихать всюду Git не надо. А аргумент про .svn конечно смешной :)
по работе работаем над проектами группами в несколько человек, при одновременном редактировании одного файла разными людьми, и последущем commit — встроенный merge не справляется со сложным анализом и поиском изменений в исходниках, а предпочитает создать кучу файлов, по одному на каждого пользователя и типа «разгребайте» ваше говно ребятки сами, я пас
Что же это за файл у вас такой — что все одновременно ведут на нём разработку, аж группами. Прям каждую строку файла все усиленно меняют? Я боюсь вам стоит задуматься об организации совместной работы — svn тут не виноват.
Кроме того, если 2 человека исправили файл в одном и том же месте, ни один мега-интеллектуальный мержер не сможет разрешить конфликт автоматически. Так что я честно говоря не понимаю, чем вы недовольны.
Что тут непонятного? Очевидно же, что интеллектуальный мержер должен для каждого возможного результата слияния собрать проект, запустить тесты и выбрать тот вариант, когда проходит максимальное их количество.
Если тестов нет, истинно интеллектуальный мержер пишет их сам, читая проектную документацию или проникая в мозг разработчиков.
Такое происходит только в том случае, если редактируемые разными людьми участки кода находятся очень сильно рядом, если даже не одни и те же (привет, Капитан Очевидность). Сама система Subversion — она же не претендует на звание офигительно интеллектуальной, способной смерджить все то, что решила закоммитить хренова туча народу. Просто ну, знаете, обычный такой мердж…
В Subversion довольно неплохой merge btw — он мержит все что сможет а что не сможет — добавляет маркеры.
Если вам станет легче от этого — то в Perforce мерж куда хуже, если он не может смержить файл; он вообще его не изменяет и пользователь должен смержить *все* сам.
Вышел Subversion 1.6 и TortoiseSVN 1.6