4

私はRedBeanSoftware SVN Bookをかなり読んだことがあり、SOに関するいくつかの質問も読んだことがありますが、これを最初にステップバイステップで正しい方法で実行していることを確認したいと思います。使い始めました。これは正しいです?

  1. SVNをインストールします。
  2. / usr / local/svnにSVNリポジトリを作成します。ディレクトリ構造は次のようになります。

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- README.txt
    
  3. リポジトリ編成(プロジェクトとベンダーを含む)のコマンドラインからフォルダーを作成します。

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- projects
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
    -- README.txt
    
  4. ベンダーコードを正しいプロジェクト名でベンダーフォルダにチェックアウトします。

  5. ベンダーコードを正しいプロジェクト名でトランクにエクスポートします(プロジェクトトランクファイルがまだないため、マージは必要ありません)。
  6. /svnroot/conf/passwdおよび/svnroot/conf/svnserve.confにusers/permissionsを作成します。
  7. svnserveが実行されていることを確認し、ローカルSVNクライアント(TortoiseSVN)で、必要なプロジェクトのトランクをチェックアウトします。

これをパブリックURLで提供する必要がないため、Apache用に構成していません。サーバーは私たちのネットワークにはありませんが、私たちが借りている専用のCentOSボックスです。考えやアドバイスをありがとう。

編集:

そもそもコードやプロジェクトがないので混乱していると思いますので、ベンダーのコードから始めています。ベンダー、トランク、ブランチ、タグのサブフォルダーを含むproject_nameを含むディレクトリ構造をサーバー上のどこかに作成し、それをリポジトリにインポートしてから、ベンダーからベンダーフォルダーにコードをインポートする必要がありますか?ベンダーから更新を取得し、それらの更新をトランクに加えた変更とマージできるという考え方です。

4

2 に答える 2

6

リポジトリ編成 (プロジェクトとベンダーを含む) のコマンド ラインを介してフォルダーを作成します。

サブバージョンのインストールディレクトリ内にディレクトリを作ってリポジトリ構造を作るということですか?それは非常に間違っています。

svn mkdirファイルシステムではなく、コマンドを使用して必要なフォルダーを作成する必要があります。

Subversion リポジトリの物理的な実装があり、/usr/local/svnクライアント経由でのみアクセスする必要があり、「手で」触れないでください。

たとえば、file:// URL スキームを使用すると、

svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"
于 2008-11-03T19:17:06.207 に答える
5

あなたはほとんど正しい考えを持っているようですが、用語が少し間違っています。SVNのコンテキストで特定の意味を持つ単語を使用しているため、SVNの人々を本当に混乱させるでしょう。Davideが言ったことを拡張するには:

2) のような方法でリポジトリを作成しますsvnadmin create /usr/local/svn

3) フォルダを作成します。下にないリストの部分は必要ありません (または必要ありません) projects/。これらの他のディレクトリは、SVN がリビジョンを追跡するために使用するものであり、実際にはリポジトリにはありません。project_name/サブツリーを含むシステムのどこかにディレクトリ階層を作成するとsvn import、プロジェクトごとに 1 回、必要な回数だけ実行できます (宛先には毎回​​異なる名前を付けます)。これにより、ディレクトリ構造が作成されます。

4) 「チェックアウト」の代わりに、「インポート」または「チェックイン」のいずれかを意味していると思います (通常、SVN 用語では「コミット」と呼ばれますが、「チェックイン」は理解されます)。インポートすると、ベンダー ファイルがリポジトリに追加されます。チェックアウトとは、作業コピーとして知られる「このバージョン管理されたディレクトリのローカル コピーを作成して作業する」ことを意味します。チームのすべての開発者は、独自の作業コピーを持つ必要があります。開発者が作業コピーに変更を加えた後、svn commit変更をリポジトリに送信します。チームの他の開発者は、svn updateこれらの変更をリポジトリから自分の作業コピーに取り込むために実行します。

5) 最近 SVN の本を読んでいませんが、ベンダー ブランチのバージョンをエクスポートするのではなく、トランクにコピーするように指示していると思います。SVN 用語でのエクスポートは、ディレクトリ ツリーのバージョンを解除することを意味しますが、これは明らかに望んでいるものではありません。

ステップ 2 の直後にステップ 6 と 7 を実行すると、ローカル マシンでのみ動作する Davide が提案するsvn://代わりに、プロトコルを使用して残りのステップのリポジトリにアクセスできるため、作業が簡単になります。file://

于 2008-11-03T19:50:56.887 に答える