CVSからSVNに移行する予定です。
開発者が提出ごとにpre/postタグを実行することを期待してすべてが良さそうです。
したがって、CVSでは、TAGSは直感的で安価であるため、問題はありません。
しかし、SVNでは、タグは著作権ですよね?
そうは言っても、提出前にアクセスできるリビジョンや何かに基づいて、前後のタグを作成する方法があるかどうか疑問に思っています。
4 に答える
タグはコピーですが、リビジョンはSubversionに基づくツリーベースであるため、コピーのオーバーヘッドはCVSよりもはるかに少なくなります。詳細については、Subversionの本をご覧ください。リチャードのコメントが言うように、このページには安いコピーを説明するボックスがあります。このサイトには、CVSユーザー向けのSubversionのヒントが掲載されています。
移行でいくつかの問題を引き起こす可能性のあるCVSタグとSVNタグのわずかな違いについてのちょっとしたコメント(少なくとも私のグループでは誤解を招きました)。
CVSでは、タグは開発の一時的なスナップショットのようなものです。通常はHEADで開発し、後で参照できるように保存したいある種の安定した状況に達したときに、タグを付けるだけです。CVSリポジトリからタグバージョンをチェックアウトする場合、それを変更することはできません。つまり、ローカルコピーで変更することはできますが、変更をコミットして戻すことはできません。何らかの方法で、CVSは偶発的な変更からタグを自動的に保護します
SVNのコピーは、別のパスのトランクのコピーです。リポジトリのタグパスからコードをチェックアウトした場合でも、コードを変更してコミットし直すことができます。これは通常、変更したくない開発の固定スナップショットとしてタグを検討する場合は、実行したくないことです。これが、特定のフックスクリプトを使用して、タグディレクトリを強制的に読み取り専用にすることができる理由です(私の意見では、これを強くお勧めします)。
SVNとCVSの違いについて話し合うのに役立つことを願っています(そして私の英語をお詫びします)。
質問を正しく理解しているかどうかはわかりませんが、svnで特定のリビジョンにタグを付けることができます。
$ svn cp -r <url> / trunk <url> / tags / my_tag
詳細については、Subversionを使用したバージョン管理のsvncopyの章を参照してください。付録B.CVSユーザー向けのSubversionも読む価値があるかもしれません。
タグは仮想コピーです。UNIXのシンボリックリンクに少し似ていると考えてください。これは非常に低コストの操作です。