3

私たちのサーバーには、ベア git リポジトリに保存されている 3 つの (実際には数千の) テキスト ファイルがあります: A.txt、B.txt、C.txt。

  • ユーザー「admin」は、それらすべてを表示/編集する必要があります。
  • ユーザー "Foo" は "A.txt" と "B.txt" を表示/編集する必要がありますが、"C.txt" の内容を表示することは許可されていません。
  • ユーザー「ゲスト」は、「A.txt」の表示/編集のみを許可する必要があります。

3 人のユーザー全員が、編集を許可されたファイルで git リポジトリのクローンを作成できる必要があります。

これを git (... または mercurial) で作成する可能性はありますか?

アイデア: ユーザー "Foo" と "guest" の git のスパース チェックアウト機能を使用して、裸の git リポジトリの 2 つのクローンを作成できますか?

他の(より速い)アイデアはありますか?

4

1 に答える 1

2

あなたがすべき:

  • 3つの枝を持つ
    • ゲスト (A.txtファイルのみ)
    • ユーザー (A および B.txt ファイルを使用)
    • 管理者 (すべてのファイルを含む)

つまり、さまざまなブランチを更新し、さまざまな変更を伝播するための頻繁なマージを意味します。

さらに、gitoliteを使用すると、(ブランチ レベルで) 誰が何をプル/プッシュできるかを制御できます。つまり、次のことを意味します。

  • guestゲストはブランチをプルすることしかできません。
  • foo ユーザーはguestブランチとブランチのみをプルできますが、ブランチ (またはユーザーにブランチの内容を更新させたい場合は両方のブランチ)usersをプッシュできます。usersguest
  • 管理者はすべてのブランチをプル/プルできます。
于 2010-08-18T15:15:24.697 に答える