3

ワークスペースにプロジェクトがあり (トランクとブランチなし)、ここで説明されているように、新しい機能に取り組んでいる間、このリリースのバグ修正を提供するために現在のリリースのコピーを作成する必要があります: http://nedbatchelder.com/text /quicksvnbranch.html . リポジトリのメイン構造と他の開発者のマシン上のチェックアウトされたプロジェクトに影響を与えずにこれを行うための推奨される方法は何ですか?

4

2 に答える 2

8

リポジトリを作成したときに何らかの構造を確立しなかった場合、既存のユーザーに何らかの影響を与えずに今は確立できません。リポジトリはファイルシステムのようなものです。今すぐ構造を作成できますが、プロジェクトが保存されている場所を移動する必要があるため、ユーザーは新しい場所からチェックアウトするか、スイッチ オプションを使用して既存のチェックアウトを更新して新しい場所を指すようにする必要があります。

どのようにしますか?

1) svn mkdir を使用して、リポジトリにトランクとブランチのフォルダーを作成します。これは、[フォルダーの作成] オプションを使用して、SVN リポジトリ ビューの Subclipse から実行できます。

2) 次に、リポジトリのルートにあるすべてのファイルとフォルダーをトランク フォルダーに移動して、トランクがプロジェクトのルートになるようにする必要があります。コマンドラインを使用してこれを行います:

$ svn mv url://host/repos/folder1 url://host/repos/trunk -m "Move folder1 to trunk"

$ svn mv url://host/repos/folder2 url://host/repos/trunk -m "Move folder2 to trunk"

$ svn mv url://host/repos/file1 url://host/repos/trunk -m "Move file1 to trunk"

完了すると、リポジトリ ショーのルートには、トランク フォルダーとブランチ フォルダーのみが含まれるようになります。

3) Eclipse でチェックアウトした既存のプロジェクトで、[チーム] > [切り替え] を実行します。参照ボタンを使用して、ダイアログでトランク フォルダを選択し、[OK] をクリックします。これにより、作業コピーが新しい場所を指すように更新されます。

すべてのユーザーが手順 3 を実行する必要があります。

最後に、ブランチを作成する準備が整いました。トランクをブランチ フォルダーにコピーするだけで、ブランチを作成できます。チーム>ブランチの作成を使用して、Eclipseからこれを行うことができます

[チーム] > [切り替え] を使用して、ブランチとトランクの間を行き来します。

[チーム] > [マージ] を使用して、変更をトランクからブランチに、またはその逆にマージします。

于 2013-05-01T13:34:30.833 に答える
3

Eclipse 用のSubversiveプラグインを使用すると、プロジェクトを複数のプロジェクト レイアウト (trunk/branches/tagsフォルダー構造) として svn に共有できます。

プロジェクトをレイアウトなしで既に svn にコミットしている場合はtrunk/branches/tag、まずプロジェクトを右クリックして、プロジェクトを svn から切断する必要があります > [チーム] > [切断] を選択します。

SVN メタ情報 (.svn フォルダー) を削除するか保持するように求められます。

ここに画像の説明を入力

複数のプロジェクト レイアウトでプロジェクトを共有するには、[ SVN メタ情報も削除する] を選択します。(これにより、プロジェクトの既存の svn 履歴が消去されるため、元のコピーとその svn ログを保持する場合は、最初にプロジェクトとその.svnフォルダーをバックアップ フォルダーにコピーします)

プロジェクトが切断されたら、次の手順に従って、複数のプロジェクト レイアウトとして svn に共有します。

  1. プロジェクトを右クリック
  2. チーム>プロジェクトの共有> SVN を選択します。
  3. リポジトリを選択 >詳細モード> [プロジェクト リポジトリ レイアウト] で、[指定されたルート名で複数のプロジェクト レイアウトを使用] を選択> [ Subversion の推奨レイアウトを使用] をオンにします。
  4. 終了

ここに画像の説明を入力

于 2015-01-15T14:58:07.470 に答える