Domanda

Il nostro server sono tre (in realtà: migliaia di file di testo) memorizzati in un repository git nuda:. A.txt, B.txt, C.txt

  • utente "admin" dovrebbe visualizzare / modificare tutti.
  • Utente "Foo" dovrebbe visualizzare / modificare "A.txt" e "B.txt", ma lui non è permesso di vedere il contenuto di "C.txt".
  • utente "guest" dovrebbe essere consentito solo per visualizzare / modificare "A.txt".

Tutti e tre gli utenti dovrebbero essere in grado di clonare il repository git con i file che sono autorizzati a modificare.

C'è qualche possibilità di fare questo con git (... o mercuriale)?

Idea: Posso fare due cloni del repository git nudo con cassa radi caratteristica del git per l'utente "Foo" e "guest" Quale includono solo i file che sono autorizzati a vedere?

Ogni altro (più veloce) idea?

È stato utile?

Soluzione

Si dovrebbe:

  • avere tre rami
    • (with file A.txt solo)
    • utenti (con A e file b.txt)
    • admin (con tutti i file)

Ciò significa frequentano fusioni per aggiornare i diversi rami e propagare la modifica differente.

Inoltre, con gitolite , è possibile controllare chi può tirare / spingere quello (a livello ramo), i quali mezzi:

  • un ospite sarà in grado di tirare il ramo guest.
  • un utente foo sarà in grado di tirare il ramo guest e il ramo users, pur essendo in grado di spingere il ramo users (o entrambi i rami se si desidera che un utente di aggiornare il contenuto del ramo guest).
  • un amministratore può tirare / tirare tutti i rami.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top