それらを別々のリリースとして使用する必要がありますか? それらをトランクまたはブランチにチェックバックしますか? これはすべて赤い本に載っていますか?私はあなたの時間を無駄にしましたか?
4 に答える
タグとブランチはSVNでは本質的に同じものであることを忘れないでください。どちらも次の結果です。svn copy
秘訣は、タグはスナップショットを表すため、変更を加えないという点で「不変」である必要があるということです。
そのスナップショット(タグ)が表すものは完全にあなた次第です。かもね:
- 開発中の安定した状態
- 複雑なマージの直前のマーク(マージが複雑すぎてすぐに解決できない場合にマークに戻るため)
- リリースまたはパッチ
- 等々...
「個別のリリース」の意味がわかりませんが、ビルドを作成しているトランクまたはブランチから、Proj-1.20.33 のようなわかりやすい名前でタグ フォルダーにコピーします。
このようにして、作成したビルドごとに、その特定のバージョンに戻ることができます。通常、タグに実際の変更を加えることは望ましくありません。私たちの場合、自動化されたビルド プロセスを介してコードとインストーラーのいくつかのバージョン番号を変更します。そのため、それらの変更のみがマージされ、その場合でも、それらの特定のファイルを変更するのはそれだけです。
SVN Book では、これについてCommon Branching PatternsとTagsエントリで少し説明しています。
私が知っているほとんどの人はまだ SVN を使用しており、すべてのリリースの直前に自分のトランク (または現在の運用ブランチ) にタグを付けています。
タグリポジトリディレクトリの次の構造化を好みます。
/tags
/builds
/PA
/A
/B
/releases
/AR
/BR
/RC
/ST
PAプレアルファ
を意味A するアルファ
B を意味するベータ
ARを意味するアルファリリース
BRを意味するベータリリース
RCを意味するリリース候補
STを意味する安定していることを意味する
ビルドとリリースには違いがあります。
- buildsフォルダーの下のタグには、 pattern
N.x.Kに対応するバージョン番号があります。ここで、NとKは整数です。例:1.x.0、5.x.1、10.x.33 - リリースフォルダーの下のタグには、パターン
N.M.Kに対応するバージョン番号があります。ここでN、MとKは整数です。例:1.0.0、5.3.1、10.22.33。
tagsリポジトリ構造の進化中の特定の時点でのリポジトリ ディレクトリの結果の構造の例は、次のようになります。
/tags
/builds
/PA
/1.x.0
/1.x.1
/A
/1.x.2
/B
/1.x.3
/1.x.4
/releases
/AR
/1.0.0
/1.1.0
/BR
/1.0.1
/1.0.2
/1.1.1
/RC
/1.0.3
/1.1.2
/ST
/1.0.4
/1.1.3
実際、このタグ付けの原則は、リポジトリ構造化へのアプローチの一部にすぎません。私が説明したタグ付けの原則を示す図が役に立つかもしれません。また、分岐やバージョン番号付けなど、構成管理プロセスのより複雑な概要も含まれています。