2009-07-15 7 views
4


私たちはCVSからSVNに移行しようとしています。
私たちの開発者が各提出物の前/後のタグを行うことは、すべてうまくいくように見えます。
CVSでは、タグは直感的で安価であるため、問題はありません。
しかし、SVNでは、Tagはコピー権ですか?
これは私が提出する前にアクセスしたリビジョンや何かに基づいて前後のタグを行う方法があるかどうか疑問です。CVSからSVNへの変換 - CVS TAGSの機能を置き換える方法

答えて

2

タグはコピーですが、リビジョンはSubversionでツリーベースであるため、コピーのオーバーヘッドはCVSよりはるかに小さくなります。詳細はSubversion bookをご覧ください。 リチャードのコメントによると、安価なコピーを記載したpageのボックスがあります。 CVSユーザー向けのSubversionのヒントをリストしたsiteもあります。

+2

SVN本のこのページの「Cheap Copies」のチェックボックスをオンにしてください:http://svnbook.red-bean.com/en/1.5/svn.branchmerge.using.html –

+0

Richardさん、ありがとうございますその1つを見た –

1

私は私が正しく質問を理解してかどうかわからないんだけど、あなたはSVNで特定のリビジョンにタグを付けることができます。

$ svn cp -r <url>/trunk <url>/tags/my_tag

は、より多くの情報のためのSubversionでchapter on svn copyでバージョン管理を参照してください。 Appendix B. Subversion for CVS Usersも読む価値があります。

1

タグは仮想コピーです。それはUNIXのシンボリックリンクのようなものです。非常に低コストの操作です。

2

CVSと(少なくとも私のグループで誤解を引き起こした)マイグレーションにいくつかの問題を引き起こす可能性のあるSVNタグとのわずかな違いについてのちょっとしたコメントです。

CVSでは、タグは開発の一時的なスナップショットの一種です。あなたは通常 あなたの頭で開発し、あなたが後で参照のために保存したい安定した状況の一種に達すると、あなたはタグを行うだけです。あなたがCVSリポジトリからタグバージョンをチェックアウトした場合、それを変更することはできません。あるいは、あなたのローカルコピーで変更することはできますが、変更をコミットすることはできません。 CVSは自動的にそのタグを偶発的な変更から自動的に保護します

SVNのコピーは別のパスのトランクのコピーです。リポジトリ内のタグパスからコードをチェックアウトすると、それを変更してそれを元に戻すことができます。これは、少なくとも、あなたが開発の固定スナップショットとしてタグを変更する予定のものではないと考える場合、通常はやりたくないことです。これは、特定のフックスクリプトを使用して、タグディレクトリを読み取り専用にすることが可能な理由です(私の意見では、本当に奨励されるべきです)。

私はSVNとCVSの違いについて議論するのに役立つことを願っています(私の英語をお詫び申し上げます)。

+1

ありがとうOrporick。あなたの英語は素晴らしいです! – un33k

関連する問題