あなたの質問と David W's answer の下のコメントに基づいて、あなたが求めていると思うことをもう一度述べさせてください: 簡単にするために、製品のバージョン 1.6 をリリースしたばかりで、それを適切に実行したとしましょう。つまり、1.6 タグを作成し、すべてがうまくいっています。そこから先へ。しかし、あなたのチームはベスト プラクティスに従っておらず、バージョン 1.5、バージョン 1.4、またはそれ以前のバージョンにラベルを付けておらず、バグ修正またはその他の理由で 1 つまたは複数の以前のリビジョンに必然的に戻る必要があると予測しています。 .
私の提案する行動方針はこれです:
リリース 1.5 を表す単一のリビジョン番号を特定します。
あなたの質問から、あなたはこの影響についてはっきりとは分かっていないと思います。ファイル A をリビジョン 128 でコミットし、次にファイル B をリビジョン 129 でコミットすると、両方のファイルがリビジョン 129になります。(ファイル A を再度コミットして、リビジョン 130 を取得するとします。ファイル A をリビジョン 129 にロールバックすると、何が得られますか?コミットしたときに 128 に存在していたのと同じファイルです。) 図は、この点を説明しようとしています。バーの上部は、各ファイルの最新のコミット、つまり最新のリビジョンを表します。このヘッド リビジョンは、ファイル A の 128、ファイル B の 129、およびファイル C の 126 で構成されます。しかし、このヘッド リビジョンはリビジョン 129 でもあります。把握するポイントは、ファイルの現在のリビジョンがそうである必要はないということです (通常は一致しない)ファイルの最新のコミットされたリビジョン。この点は、最新のリビジョンについて話すときに最も簡単に理解できますが、以前のリビジョンにも同様に当てはまります。リビジョン 125 とは何ですか? ファイル A が 124 で、ファイル B が 125 で、ファイル C が 123 でコミットされたときです。したがって、特定のリリースについて、最新のコミットがすべて含まれているリビジョンを特定する必要があります。
識別されたリビジョン番号にタグを適用します。
リリース 1.5 の単一のリビジョン番号を特定したら、svn branch/tag コマンドを使用して、ヘッド リビジョンではなく、特定されたリビジョン番号をタグのターゲットとして指定します。
タグ付けする以前のリリースごとに上記を繰り返します。
完了するまで、すすぎ、洗浄を繰り返します。
合併症
上記の手順は、ほとんどの場合うまくいくはずです。ただし、混合リビジョンにタグを付けたい場合もあります。私の例によると、128 と 129 は混合リビジョンを構成しないことに注意してください。混合リビジョンは、たとえば、ファイル A が 124 で、ファイル B が 127 です。混合リビジョンにタグを付けるには、作業コピーをその混合リビジョンに更新し、作業コピーに基づいてタグを作成します。
この特定のトピックの詳細については、Simple-Talk.com で公開されている私のTortoiseSVN and Subversion Cookbookのパート 6も参照してください。