Question

Sur notre serveur sont trois (en réalité: des milliers de) fichiers texte stockés dans un dépôt git nu. A.txt, B.txt sont capturés, C.txt

  • L'utilisateur "admin" devrait afficher / modifier tous.
  • L'utilisateur « Foo » devrait afficher / modifier « A.txt » et « B.txt sont capturés », mais il ne peut pas voir le contenu de « C.txt ».
  • L'utilisateur "guest" ne doit être autorisé à voir / modifier "A.txt".

Les trois utilisateurs devraient être en mesure de cloner le dépôt git avec les fichiers qu'ils sont autorisés à modifier.

Est-il possible de faire cela avec git (... ou Mercurial)?

Idée: Puis-je faire deux clones du dépôt git nu avec la caisse clairsemée caractéristique de git pour l'utilisateur « Foo » et « invité » Wich inclure uniquement les fichiers qu'ils sont autorisés à voir?

Toute autre idée (plus rapide)?

Était-ce utile?

La solution

Vous devez:

  • ont trois branches
    • invité (avec uniquement les fichiers de A.txt)
    • utilisateurs (avec A et fichiers B.txt)
    • admin (avec tous les fichiers)

Cela signifie que pour mettre à jour fréquente se confond les différentes branches et propager les différentes modifications.

De plus, avec gitolite , vous pouvez contrôler qui peut tirer / pousser ce (au niveau de la branche), ce qui signifie:

  • un invité ne sera en mesure de tirer la branche guest.
  • un utilisateur foo ne sera en mesure de tirer la branche guest et la branche users, tout en étant capable de pousser la branche users (ou les deux branches si vous voulez un utilisateur de mettre à jour le contenu de la branche guest).
  • un administrateur peut tirer / tirer toutes les branches.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top