いくつかの開発チームがあり、それぞれが複数のプロジェクトを開発しています(通常は10以上)。現在CVSに参加しており、SVNとGITのどちらに移行するかを評価しています。私はGITに傾倒していますが、権限を効率的に管理する方法がわかりません。例えば。
開発チームA、開発チームB、開発チームCがあります。それぞれに12人の開発者がいます。各開発チームには、少なくとも10の個別のプロジェクトがあります。チームAは全員のコードを見ることができ、チームBとCは自分のコードしか見ることができません。さらに、一部の開発者は読み取り専用アクセスのみを持ち、他の開発者はフルアクセスを持ちます。
したがって、CVSには、チームごとに1つずつ、合計3つのリポジトリがあります。つまり、次のようになります。
/cvsroot/TeamARepos/project1
/cvsroot/TeamARepos/project2
/cvsroot/TeamBRepos/project1
/cvsroot/TeamBRepos/project2
/cvsroot/TeamCRepos/project1
/cvsroot/TeamCRepos/project2
等々。リポジトリ全体を管理でき、John DoeはAへの読み取り専用アクセス権を持っているが、Bへの書き込みアクセス権はあり、Cへのアクセス権はないと言うことができます。したがって、各プロジェクトへの明示的なアクセス権を彼に与える必要はありません(そして、それらはかなり頻繁に追加されます。したがって、毎回すべての新しいプロジェクトに全員を追加する必要はありません)。
GITについての私の理解は、プロジェクトごとに1つのリポジトリがあるということです。したがって、「チームAのすべてのコードがここにあり、これらのユーザーはそれに書き込むことができます」および「チームBのすべてのコードがここにあり、これらのユーザーはそれを読み取ることができます」と言って、そのように分離しておくという論理的な方法はありません。
質問を正しく行う方法すらわからないのですが、管理上の悪夢としてGITに移行することを想定しています。
また、antスクリプトを使用して、CVSからコードをチェックアウトし、ビルドを実行して、サーバーにデプロイします。見始めたばかりですが、そういう意味でもアリがGITとうまくやってくれることを願っています。