Касательно разделения обязанностей.
Разделись обязанности в пределах одного репозитория, насколько мне изменяет память, нельзя. Проблему можно решить создав на каждый компонент отдельный репозитории и поместить их в главный как саб-модули. В этом случае вы можете полностью контролировать доступ разработчиков к конкретным компонентам. В SVN-же вы можете настроить доступ к отдельным компонентам в пределах одного репозитория, но это все же SVN и тут много своих нюансов.