Frage

Auf dem Server sind drei (in Wirklichkeit: Tausende von) Textdateien in einer kahlen git-Repository gespeichert. A.txt, B.txt, C.txt

  • Benutzer "admin" sollte / zu bearbeiten sie alle.
  • User „Foo“ sollte / zu bearbeiten „A.txt“ und „B.txt“, aber er ist nicht der Inhalt von „C.txt“ sehen erlaubt.
  • User "Gast" sollte nur auf view / edit "A.txt" zugelassen werden.

Alle drei Benutzer sollten die git-Repository mit den Dateien klonen können, sie erlaubt sind zu bearbeiten.

Gibt es eine Möglichkeit, diese mit git zu machen (... oder Mercurial)?

Idee: Kann ich zwei Klone der nackten git-Repository mit der spärlichen Kasse Feature von git für den Benutzer „Foo“ und „Gast“ Weichen nur die Dateien enthalten sie sehen dürfen?

Jede andere (schneller) Idee?

War es hilfreich?

Lösung

Sie sollten:

  • haben drei Zweige
    • Gast (mit nur A.txt Dateien)
    • Benutzer (mit A und B.txt Dateien)
    • admin (mit allen Dateien)

Das bedeutet, dass hier häufig mischt die verschiedenen Zweige zu aktualisieren und die unterschiedliche Modifikation zu propagieren.

Plus, mit gitolite , können Sie die können steuern, ziehen / schieben, was (in einer Filiale Ebene), was bedeutet:

  • ein Gast nur in der Lage sein, den guest Zweig zu ziehen.
  • ein foo Benutzer nur in der Lage sein, den guest Zweig und die users Zweig zu ziehen, während in der Lage, die users Zweig zu drücken (oder beide Zweige, wenn Sie ein Benutzer möchten die Inhalte von guest Zweig aktualisieren).
  • kann ein Admin ziehen / ziehen alle Zweige.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top