バージョン管理用にStarTeamを使用していましたが、Subversionに移行しています。私はSubversion bookを読んできましたが、StarTeamはSubversionにはないという大きな特徴の1つ、つまりラベルの概念があるようです。私はSubversionがラベルを持っていることを知っていますが、StarTeamでは何か違う意味です。 StarTeamでは、一連のファイルに「準備完了」というラベルを付けてから、それらをチェックして特定のリリースに含めることができます。次に、そのファイルにどのファイルが含まれているかを示すフリーズされたラベルを作成できます(Subversionタグに似ていますが、ディレクトリ内のすべてではなく、特定のリビジョンにあります)。Subversionに、次のリリースに含まれるファイルを示す "ラベル"を作成します。
Subversionでこのような機能を利用する方法はありますか?タグを付けるリビジョンを指定できるのは分かっていますが、コードを持っていてリリースをやろうとしているときに何が起こり、バグが見つかった場合や、特定の変更が含まれてはならないと判断した場合です。リポジトリとローカルの作業コピーに基づいてタグを作成することができますが、これには含まれないファイルの特定のリビジョンをチェックし、タグを作成する必要があります。 "ラベル"を作成する準備ができていれば、不要なファイルの先頭バージョンにそのラベルを付けることはありません。 Subversionのビルドの特定のリビジョンを自動的に指定する方法はありません。これは、ブランチで新しい機能を開発するべきではありませんが、リビジョンがトランク内にある場合(またはタグを作成する場所)は含まれません。それは元に戻す必要はないかもしれません - 変更は適切かもしれませんが、将来のリリースでは現在のものではありません。あなたが必要とする正確なファイルバージョンで特定のリビジョンを持っていない場合は、リポジトリと作業コピーから手動でミックスして一致させる必要があるようです。
同様の状況で、リリースに含まれていないタグが付いていないファイルがSubversionにある場合はどうなりますか? StarTeamでは、ビルド準備完了ラベルを添付することはありませんが、Subversionではディレクトリ内のすべてのものに見えます。ビルドやタグからそのようなファイルを除外する方法はありますか?これは何ですかsvndumpfilter excludeは?
要するに、特定のファイルの特定のリビジョンのみをタグに含めるか、リポジトリ内の特定のリビジョンか、リポジトリ内のファイルと作業コピーを手動で組み合わせる必要があります?