git clone с разными правами доступа к файлам - PullRequest
3 голосов
/ 18 августа 2010

На нашем сервере находятся три (в действительности: тысячи) текстовых файла, хранящихся в пустом хранилище git: A.txt, B.txt, C.txt.

  • Пользователь "admin" долженпросмотреть / отредактировать их все.
  • Пользователь "Foo" должен просматривать / редактировать "A.txt" и "B.txt", но ему не разрешено просматривать содержимое "C.txt".
  • Пользователю "guest" разрешено только просматривать / редактировать "A.txt".

Все три пользователя должны иметь возможность клонировать репозиторий git с файлами, которые им разрешеныдля редактирования.

Есть ли возможность сделать это с помощью git (... или mercurial)?

Идея: Можно ли сделать два клона из репозитория голых git с функцией разреженного извлечения изgit для пользователя "Foo" и "guest", который включает только те файлы, которые ему разрешено видеть?

Любая другая (более быстрая) идея?

1 Ответ

2 голосов
/ 18 августа 2010

Вы должны:

  • иметь три ветви
    • guest (только с файлами A.txt)
    • пользователей (с файлами A и B.txt)
    • admin (со всеми файлами)

Это означает частые объединения для обновления различных ветвей и распространения различных модификаций.

Plus, с Гитолит , вы можете контролировать, кто что может тянуть / толкать (на уровне ветви), что означает:

  • гость сможет вытащить тольковетвь guest.
  • пользователь foo сможет тянуть только ветку guest и ветку users, в то же время имея возможность нажимать ветку users (или обе ветви, если хотите).пользователь должен обновить содержимое ветки guest.
  • , администратор может вытащить / вытянуть все ветви.
...