1

現在、コードベースを本番コードとしてタグ付けするプロセスを使用してCVSおり、その後、通常の開発が進行します。トランクへのコミットと新しいタグが発生する可能性がありますが、製品タグは製品リリースまで変更できません。製品リリースの時点で、製品リリースのタグが新しい製品タグになります。したがって、製品コードが必要なときはいつでも、prod タグをチェックアウトするだけで済みます。prod タグは基本的に、従来の開発プロセスにおけるトランク ヘッドのように機能します。

現在は に移行してSVNおり、現在の方法を維持する予定でした。特定のコードベースの製品タグを維持するための最良/標準的な方法SVNは何ですか? 製品コードがタグにマージされる新しい製品リリースまで変更されない単一のタグを作成することは可能ですか? 生産タグのみの履歴を持つ機能もいいでしょう。

4

1 に答える 1

2

悪いニュース: 習慣を変える必要があります。Subversion のタグは (慣習的に) 不変です。つまり、関係 URL-OF-TAG <-> リビジョンは、プロジェクトの存続期間中に変更されません (してはなりません)。

あなたはできる:

  1. 規則を無視して、リリースのたびに PROD タグを再作成します。すなわち
    • 初めて PROD を作成するsvn cp REPO/TRUNK@R1 REPO/tags/PROD
    • 次のリリースごとにsvn rm REPO/tags/PROD & svn cp REPO/TRUNK@RN REPO/tags/PROD
  2. トランク外のレポ内の任意のパスを、特別な目的のブランチ (変更可能なサブツリー) として使用します: 「MergeTo Only」およびこの PROD リリース コードにマージします。
    • 初めて PROD を作成svn cp REPO/TRUNK@R1 REPO/PRODするか、... REPO/branches/PROD
    • 次のリリースごとに、トランク (またはバージョン ブランチのリリース タグまたは HEAD) を PROD にマージします。
  3. 外部を使用する
    • 初めて PROD を作成します: ある場所に追加します (p.2 のメモが適用されます) svn:externals を使用して、リポジトリ内の (ツリーと履歴の) あるポイントに「仮想フォルダー」を追加します (ブランチに PROD を追加し、propset を使用します)トランクルート上)svn propset svn:externals . branches/PROD REPO/TRUNK@R1 & svn ci &svn up
    • 次のリリースごとに: PROD の外部リソースの定義を変更しsvn propedit svn:externals .(再びトランクのルートにあります) REPO/TRUNK@R1、新しいパスに置き換えます (自動化を容易にするために、 +propeditで置き換えることができます) 。propdelpropset
于 2013-01-16T04:44:04.760 に答える