これは、複数のプロジェクトとベンダーでSVNリポジトリを作成するための正しいステップバイステップおよび組織ですか?
-
06-07-2019 - |
質問
Red Bean Software SVN Bookのかなりの部分と、SOに関するいくつかの質問を読んだことがありますが、ステップバイステップで最初に正しい方法でこれを行っていることを確認したいです。 -使用を開始する前のステップ。これは正しいですか?
- SVNをインストールします。
-
/ usr / local / svnにSVNリポジトリを作成します。ディレクトリ構造は次のようになります。
-- conf -- db -- format -- hooks -- locks -- README.txt
-
リポジトリ組織のコマンドラインからフォルダーを作成します(プロジェクトとベンダーを含む)。
-- conf -- db -- format -- hooks -- locks -- projects -- project_name -- vendor -- trunk -- branches -- tags -- project_name -- vendor -- trunk -- branches -- tags -- README.txt
-
ベンダーコードを正しいプロジェクト名でベンダーフォルダーにチェックアウトします。
- 正しいプロジェクト名でベンダーコードをトランクにエクスポートします(プロジェクトトランクファイルがまだないため、マージは不要です)。
- / svnroot / conf / passwdおよび/svnroot/conf/svnserve.confにユーザー/権限を作成します。
- svnserveが実行されていることを確認し、ローカルSVNクライアント(TortoiseSVN)で、必要なプロジェクトのトランクをチェックアウトします。
公開URLでこれを提供する必要はないので、Apache用に設定していません。サーバーはネットワーク内にありませんが、私たちがレンタルする専用のCentOSボックスです。考えやアドバイスをありがとう。
編集:
最初にコードやプロジェクトがないために混乱していると思うので、ベンダーのコードから新たに始めています。 project_name w / vendor、trunk、branches、tagsサブフォルダーを含むサーバー上のどこかにディレクトリ構造を作成し、それをレポにインポートしてから、ベンダーからベンダーフォルダーにコードをインポートする必要がありますか?ベンダーからアップデートを入手し、それらのアップデートをトランクに加えた変更とマージできるという考えです。
解決
リポジトリプロジェクト(プロジェクトおよびベンダーを含む)のコマンドラインからフォルダーを作成します。
subversion intallationディレクトリ内にディレクトリを作成して、リポジトリ構造を作成するということですか?それは非常に間違っています。
ファイルシステムではなく、 svn mkdir
コマンドを使用して必要なフォルダーを作成する必要があります。
/ usr / local / svn
には、Subversionリポジトリの物理的な実装があり、クライアント経由でのみアクセスする必要があり、「手で」触れないでください。
たとえば、file:// URLスキームを使用
svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"
他のヒント
ほとんど正しい考えを持っているように見えますが、用語は少し間違っています。 SVNのコンテキストで特定の意味を持つ単語を使用しているため、SVNの人々を本当に混乱させます。ダビデが言ったことを拡張するには:
2) svnadmin create / usr / local / svn
などの方法でリポジトリを作成します。
3)フォルダーを作成します。リストの projects /
の下にない部分は必要ありません(または必要ありません)。これらの他のディレクトリは、SVNがリビジョンを追跡するために使用するものであり、実際にはリポジトリにはありません。システムのどこかに project_name /
サブツリーを含むディレクトリ階層を作成する場合、プロジェクトごとに必要な回数だけ svn import
を実行できます(毎回宛先に異なる名前を付けます)。これでディレクトリ構造が作成されます。
4)" checkout"の代わりに、" import"またはまたは「チェックイン」 (通常、SVNの用語では「コミット」と呼ばれますが、「チェックイン」は理解されます)。インポートすると、ベンダーファイルがリポジトリに追加されます。チェックアウトとは、「このバージョン管理されたディレクトリのローカルコピーを作成して作業できるようにする」ことを意味します。作業コピーとして知られています。チームのすべての開発者には、独自の作業コピーが必要です。開発者が作業コピーに変更を加えた後、開発者は svn commit
して、変更をリポジトリに送信します。チームの他の開発者は、 svn update
を実行して、これらの変更をリポジトリから独自の作業コピーに取得します。
5)最近SVNの本を読んでいませんが、ベンダーブランチのバージョンをエクスポートするのではなく、トランクにコピーするように指示していると思います。 SVNの用語でエクスポートすると、ディレクトリツリーのバージョン管理を解除することになりますが、これは明らかに目的のものではありません。
ステップ2の直後にステップ6および7を実行すると、 svn://
プロトコルを使用して、 > file://
は、Davideの提案どおり、ローカルマシンでのみ動作します。