2011-01-08 12 views
6

リポジトリの特定の部分のみにアクセスする必要がある開発者の商用プロジェクトにはどちらをお勧めしますか?階層アクセス制御を持つリポジトリのSVNまたはGit

開発IDEは、Eclipse

で、プログラミング言語はC/C++

要件の

主な機能は次のとおりです。 "中央" サーバーと組み合わせるリポジトリ

答えて

2

Gitリポジトリへの権限とACL階層的アクセス、 Gitoliteで管理すると、必要なすべてのきめ細かな制御(ユーザーごと/グループごと、レポのすべてまたは一部のみにアクセス、一部のブランチのみ)にも対応できます。

あなたの開発者がSVNのようなCVCSをよく知っているならば、少なくともプロジェクトを開始するためにその知識を使用することが賢明かもしれません(そして、あなたのApacheサーバ設定でAuthenticationメソッドを使います):CVCS can be quite different from a DVCS
(さらに、後でSVNリポジトリをGitに変換することもできます)

+0

私はGitを選択しましたが、Gitを使用するとモデルを簡単に作成できます。配布されたバージョン管理システムでは、階層型アクセス制御をより簡単に実現できます。リポジトリのブランチやモジュールのコピーを持っています。とにかく彼らは開発に取り組んでいることを知っていなければなりません。その部分が必要です。私がGitに関して興味深かったのは、別のGitリポジトリを確立してその結果を上流のものにマージする – kay

+0

私はSVNを受け入れることもできますが、私は個人的にはSVNを使っていますが、Gitは無制限のオプションEGitとJGitはGitと一緒に使えるので、Eclipseのサポートは必要ありません。嫌な開発者の基礎となるGitの使い方、他のコンセプトは実際にはバージョン管理の方法でSVNと同じです – kay

2

GitはSVNよりはるかにモジュール性が高く、柔軟性があります。リポジトリの一部にアクセスする必要がある開発者がいれば、サブモジュール(メインリポジトリによって集約された独立したリポジトリ)にすることができます。ファイルシステム内の単一のディレクトリとは別のリポジトリへのアクセスを許可するほうがはるかに簡単です。

APIまたはプラグインをメインリポジトリから分離するのが一般的です。詳細はthereをご覧ください。

最後に、Gitolite(自分のプロジェクトに使用するもの)やGitosis(私たちが仕事で使うもの)のようなソフトウェアは、gitリポジトリの管理を非常に簡単にします。

+0

私もあなたと同意します、私が簡単に見つけたのは複数のGitリポジトリを持ち、 Gitリポジトリ、それは階層的なアクセス制御を達成することは容易で、品質管理はこの方法であり、FreeBSDプロジェクトと何らかの形で同じですが、CVSを使用します – kay

1

あなたはSVNを使用する必要があります。理由:
- 商用プロジェクトでは、SVNに詳しい開発者が増えています。 SVNには強力なGUIツールがあります。私はあなたが "gitは使いにくい"という不満を聞きたくないと思う。 (私はgitとsvnの両方が好きです)
- Gitはローカルであまりにも多くのバージョン情報を管理しています。これは一般的な商用プロジェクトでは望ましくありません。サーバとしてApacheのまたはsvnserveのを使用して

+2

なぜ、これにより、開発者は効率的にローカルで作業し、適切なタイミングで中央の会社のサーバーにプッシュすることができます。あなたの開発者が会社のポリシーに従わなければ、あなたは 'svnsync'を使って、あなたが恐れている悪意のある行為を行うことができます。 –

+1

私に質問しないでください。私が何を再生しても、真実は何人かの人々が世界でそう考えると言うことです。 –

+0

ブランチやツリーを非表示にする理由はまったくありません。階層的なコンセプトは、Gitや複数のリポジトリで、開発者が認識したり作業してはいけない部分例えば、GUI開発者はDigital Signal Processorを扱うべきではないので、DSPコードは彼の利用できません.Gitリポジトリから削除するか、ソースではなくオブジェクトファイルを置き換えてください。 – kay

2

、きめ細かいPer-directory access controlが可能です。 Path-Based Authorizationは、リポジトリへのアクセスを定義したユーザーまたはグループを許可します。 Webインターフェイスが利用可能な場合は、websvnも同様です。

+0

SVNで同じことを達成することは可能ですしかし、SVNの長年のユーザとして、これを達成するのがはるかに簡単です。階層リポジトリも構築できますが、SVNでは可能ですが、はるかに痛みを伴います。 – kay

+0

@kay:それはもっと痛みです"*? * gitolite *や* authz *の設定は大きな違いはありません。 **合併戦略について** DVCSのような* GIT *には利点がありますが、アクセス管理には関係ありません。 – zellus

+0

はい、問題はあなたがポイントを取得していない、それは単なるアクセスcontrarationではなく、Gitリポジトリのリポジトリを持つことが可能であり、リポジトリを上にコミットしています(これはSVNでは利用できません)。 – kay

関連する問題