2

単一のビルド ジョブ (Maven、pom.xml 経由、複数の子フォルダーなど) で構成される大規模なプロジェクトがあります。開発者は 3 つの異なるリビジョン番号を私たちに与えており、(Hudson) ビルド ジョブにフィードできる単一のタグを作成することを望んでいます。

例:
/ -- リビジョン X で
/project1 -- リビジョン Y で
/project2 -- リビジョン Z で

ブランチ全体をリビジョン X に同期し、次に「cd project1」をリビジョン Y に同期し、次に「cd ..\project2」をリビジョン Z に同期し、次に「cd ..」を作成して、このタグを作成できました。現在のディレクトリからのタグ。

単一のコマンド ラインからタグを作成できるようにしたいと考えています (URL を使用して、ローカル ワークステーションにファイルを同期する必要はありません)。これは可能ですか?いくつかのバリエーションを試しましたが、どれも機能していないようです。

ありがとう、
ケン

4

3 に答える 3

2

あなたの要件を満たすには2つのアプローチがあります

あなたの「/」を「トランク」として扱います。そうしないとタグを作成する意味がありません;)

リビジョンアプローチからのコピー

利点

  • わかりやすい

不利益

  • ドキュメントのオーバーヘッド (このタグの内容は?)
  • エラーの可能性のあるソースのリビジョンの選択
  • 間接費はプロジェクト数に比例して増減します

安定したアプローチとしてマーク

トランクでこの手順を 1 回実行します。

メイン アプリをチェックアウトする人は誰でも、リリースの準備が整った時点で、プロジェクトの最新バージョンを取得できます。

プロジェクトの開発チームは、新しいリリースの準備が整うたびにこれらの手順を実行します。準備ができたら、リビジョン番号を使用するか、単に HEAD にタグ付けするかを決定できます。

リリース/タグ日:

リビジョン番号も使用できます。ここでの問題は、アプリケーションのレイアウトが project1 と 2 がメイン アプリケーションの "/"内にあることを示していることです。そうでない場合、タグ付けとリリース統合のための固定タグの使用は非常にスムーズです。(「/」もサブタグ付けされます)

実際の例:

svn propget svn:externals http://svn.silverstripe.com/open/phpinstaller/tags/2.4.2/

利点

  • ドキュメンテーションは、svn 履歴とリビジョン グラフを介して少し簡単になります
  • タグ付けのオーバーヘッドはスケールし、メインのタグ付け日は一定のまま

短所

  • セットアップと理解がより複雑 (チーム全体で行う必要があります)

タグはリビジョンへの単なる「シンボリック リンク」であるため、両方のシナリオで同じ原則が使用されます。ただし、タグ付けはより明確に感じられます。この全体のシナリオは、1 対 1 でコピーすれば機能するという提案ではなく、より一般的なモデルです。

于 2010-10-19T14:09:03.947 に答える
0

svn copyの下に新しく作成されたフォルダーにコピーするために、いつでも手動で行うことができますtags。必要に応じて、与えられた 3 つのリビジョン番号でこれを実行する簡単なスクリプトを作成することもできます。

コピー ターゲットが (リポジトリへの URL ではなく) 作業コピーへのパスである場合、後ですべてを 1 ステップでコミットできます。

于 2010-10-11T20:29:20.220 に答える
-1

この場合、svnmergeが役に立ちます。

svnmerge.py wikiには、「チェリー ピッキングによるリリース ブランチの特定のサポート: 単一のリビジョンまたはリビジョン範囲に名前を付けてマージする」と書かれています。

自分では調べていないので、試してみてください。

于 2010-10-12T11:28:53.240 に答える