Используя публичные версии и в облаках - крайне маловероятно управлять правами на уровне веток/коммитов/директорий. Наиболее реальный вариант - вложенныйе репозитории (
hg и
git).
Разделение прав можно сделать или на своем сервере, или, наверное, в очень дорогом и крутом облаке.