Здравствуйте!
Проблема кажется должна встречаться часто, но решения я так и не нашел.
Есть проект, есть несколько разработчиков. Как организовать совместную работу, чтобы у определенного разработчика был доступ (даже на чтение) только из определенных директорий проекта. Т.е. пусть структура будет такая:
- bin // папка с компилированными бинарниками (компилируется CI из master ветки или еще как)
- lib // то же но для динамических библиотек
- src // папка с исходными файлами всего проекта
-
- App1 // папка из кот компилиться приложение 1
- App2 // то же 2
- Class1 // папка содержит реализацию класса1 (кот может использоваться при сборке App1 и др.)
- Class2 // то же 2
- include // папка содержит ссылки на заголовочные файлы классов, приложений App и пр. из директории src
- obj // папка с всеми объектными файлами
Хочется выдать user1 права на чтение из папок bin, lib, include, obj. И временно выдать права на чтение-модификация src/Class1 и чтобы другие папки из src он не смог прочесть. Так как у него будут obj файлы он сможет пересобирать приложения со своими наработками в Class1, тестить и т.д. Так можно пустить временно разработчика в проект, при этом не выдавая ему все исходники.
Хочется систему которая сможет управлять выдачей/изменением таких прав для конкретного пользователя.
Систему рассматриваем git или mercurial. В gitolite нашел что можно выдать права на отдельный путь. Но нам не подходит, так как нельзя использовать ssh (и возможно даже с ним не получится такое реализовать).
За любые мысли и советы буду благодарен.