2

プロジェクトをSubversionリポジトリにインポートする方法について質問があります。グーグルでたくさんの答えを見つけましたが、その背後にある論理が理解できませんでした。

私が理解している手順は次のとおりです。

  1. ブランチ、タグ、トランクの3つのサブディレクトリを持つプロジェクトディレクトリを作成します。

  2. すべてのコードをトランクの下に配置します。

  3. 次のコマンドを実行します。

    svn import project_dir file:///repository_name/project -m "First Import"

    ここで、project_dirには3つのサブディレクトリが含まれています。

この後、コードを別のディレクトリに再度チェックアウトする必要があります。

  1. svn checkout file:///repository_name/project/trunk new_project_dir

  2. new_project_dirの作業を続けます。

一度だけ使用するproject_dirを作成し、それを無視しているように私には思えます。

私の質問は次のとおりです。

  1. コードをnew_project_dirにチェックアウトした後も、古いproject_dirはまだ役に立ちますか?それとも単にSVNにレイアウトを与えるだけですか?

  2. 他の2つのサブディレクトリであるブランチとタグを自分で処理する必要がありますか(たとえば、そこにあるコンテンツをチェックアウトする)?それとも単にSVNの内部使用のためですか?SVN内部使用の場合、SVNが自動的に作成できないのはなぜですか?

4

2 に答える 2

4

必要に応じて、SVN で直接レイアウトを作成できます。質問でステップ 3) を使用すると、すべてを一度に実行できるため、簡単になります。それに従えば、インポート後の初期フォルダは必要ありません。実際、インポート元のフォルダーはバージョン管理下に置かれていないため、そこに加えられた変更はリポジトリに戻りません。

レイアウトに関しては、そうするのが通例ですが、SVN には制限がありません。プロジェクトを好きなように整理できます。従来のロジックは次のとおりです。

  • trunk最新の既知の作業コピーを示します
  • branchesたとえば、特定のバグ修正など、さまざまな開発作業 (おそらく別の人による) を示すサブフォルダーがあります。トランクや他のブランチへの変更の影響を受けずに作業し、準備ができたら変更をトランクにマージします。
  • タグは、特定の時間/段階でのトランクの状態を示すために、トランクのマークされたバージョンです。これは、たとえば、いくつかのバージョン番号を覚える代わりに、同じリリースに属するものを簡単に見つけることができるようにするためです。
于 2012-04-17T16:24:39.370 に答える
1

古い project_dir は、SVN にレイアウトを与えるためのものです。コードはリポジトリにコピーされますが、SVN はこのディレクトリとファイルを読み取るだけで、それらには触れません。したがって、これは「作業コピー」ではありません。

新しい場所にチェックアウトすると、魔法を起こすコードと svn メタデータが含まれます。

私の知る限り、トランク、タグ、ブランチは単なる命名規則です。SVN はそれらを必要としません。将来必要になるかもしれません。分岐やタグ付けを計画していない場合は、ファイルをルートに直接インポートできます。

于 2012-04-17T16:19:20.720 に答える