2009-07-30 20 views
7

私はSubversionリポジトリを最初に構築する最善の方法を見つけようとしています。Subversionリポジトリを構築する方法

最初のリポジトリを作成し、その下に各プロジェクトのサブリポジトリを作成することをお勧めしますか?

どのリポジトリにトランク、ブランチなどを作成する必要がありますか?

また、ルートレベルのリポジトリにトランク、ブランチ、タグの各フォルダを作成しないことをお勧めします。

私は別のチームにいたときに、ProjectAと言うことができますが、トランクを降ろしていませんでした。ブランチフォルダは素晴らしかったが、これがサーバー上でどう構造化されているかわからない。

+0

。 –

答えて

8

膨大な量のコードを持っていないか、大量のコードを含むプロジェクトを完全に削除したい場合を除いて、今後のメンテナンスの頭痛を避けるため、すべてを1つのリポジトリに保管してください。次に、プロジェクトごとにディレクトリを作成します。次に、Subversions勧告に従う場合は、各プロジェクトのフォルダの下に "trunk"、 "branches"、 "tags"フォルダを配置します。

+0

プロジェクトのサブフォルダを作成すると、URLをコピーしてそのフォルダにローカルに移動し、プロジェクトフォルダの下にあるサーバー上に作成したトランクフォルダにどのように接続するのですか? – PositiveGuy

+0

新しいリポジトリを設定するとき、これは私が行うことです。私は、 "http://example.com/svn/"のようなURLを持つグローバルリポジトリを作成します。私はそれを新しいローカルフォルダ、I.E.にチェックインします。 "example-svn"(あなたが望むものであれ)。さて、 "example-svn"はリポジトリ全体の作業コピーです。 trunk/branches/tagsフォルダを設定する場合は、 "project1"の "example-svn"内に新しいフォルダを作成し、そのフォルダ内に "trunk"、 "branches"、 "tags"を作成します。次に、project1のすべてのファイルを "trunk"に貼り付け、 "project1"を右クリックして "Add"を選択します。あなたは行こうとしています。 – Nicole

+0

上記の例では、リポジトリ全体(すべてのプロジェクト)をチェックアウトする場合は、 "http://example.com/svn/"を使用します。project1だけをチェックアウトしたい場合は、 "http://example.com/svn/project1"を使用してください。 – Nicole

14

あなたがリポジトリに複数のプロジェクトを維持したい場合、私はあなたが1つのプロジェクトだけを残しておきたい場合は

/project1 
    /trunk 
    /branches 
    /tags 
/project2 
    /trunk 
    /branches 
    /tags 
... 

はこれが行います。この構造のために行くだろう:

/trunk 
/branches 
/tags 
+0

ありがとうございます。 Project1を最初にチェックインする場合は、Project1 \ trunkフォルダからURLを取得し、それを使用します。 – PositiveGuy

+0

もしあなたがproject1で作業したいのであれば、あなたのチェックアウトのためにちょうど 'svn:// path.to.your.repo/project1/trunk'のようなものを使用します – RaYell

+0

、ありがとう! – PositiveGuy

4

Subversion bookを救出します。

+0

いや、あなたを混乱させる情報が満載です。私はそれを通り過ぎてきましたが、このようなベストプラクティスはありません。 – PositiveGuy

+3

私はそれが私のために多くのものをクリアしたことがわかりました。 RaYellの答えは本の推奨事項からほぼ真実です。 –

1

別々のリポジトリを保持すると、リポジトリ単位でバックアップスケジュールと格納場所をカスタマイズできます。また、リポジトリを掘り起こし、メンテナンスやクリーンアップアクションを実行する必要がある場合もあります(例えば、リポジトリからコミットを完全に削除することは稀ですが可能です)。独立したリポジトリを維持することで、干渉を最小限に抑えることができます他のユーザーと他のリポジトリに

小さなプロジェクトでは、これらのことは一般的に大きな問題ではないと言われています。私はトランク/ブランチ/タグの設定にもう一度心からお勧めします。

5

私はきめ細かで、組織的で、自己完結型の構造化されたリポジトリを好んでいます。リポジトリメンテナンスプロセスの一般的な(理想的な)アプローチを示すdiagramがあります。例えば、(すべてのプロジェクトのリポジトリが持っている必要があります)、リポジトリの私の最初の構造は次のとおりです。これはリポジトリ/切断側の問題ではなく、クライアント側の問題ですので、むしろ「TortoiseSVNは」より「のsvn」で再びタグ付け

/project 
    /trunk 
    /tags 
     /builds 
      /PA 
      /A 
      /B 
     /releases 
      /AR 
      /BR 
      /RC 
      /ST 
    /branches 
     /experimental 
     /maintenance 
      /versions 
      /platforms 
     /releases 
関連する問題