14

サブバージョンでタグを使用する方法を知っています。リリースのマイルストーンに到達するたびにタグを作成します。

私がよく理解していないのは、それらがどのように機能するかです。

タグは、指定したリビジョンから作成された単なるコピーですか? または、参照に似たタグであり、内部で subversion が単に言っているだけGO TO /trunk/project/ Revision 5です。

タグを作成するコマンド ( svn copy) は、それがコピーであることを暗示しているようですが、Subversion は実際には何もコピーしないと他の人が書いているのを見たことがあります。

リポジトリの HEAD リビジョンだけをダンプするとします。タグ以外の履歴は気にしません。これらのタグは、Head リビジョンの残りの部分と一緒にダンプされますか?

最後に、これは私が本当に知りたくない単なるプログラミングの魔法です。

4

6 に答える 6

12

はい、svn コピー (タグ、ブランチ、またはトランク内のファイルのコピーと考えているかどうか) はすべて同じです。SVN は、そのリビジョンのソースの場所へのポインターを内部的に作成します。その後、コピーに変更を加えた場合 (それがブランチまたはトランク内のコピーされたファイルである場合は行う可能性がありますが、タグに対しては行うべきではありません)、SVN はまったく新しいものを作成するのではなく、変更されたもののみを保存します。コピー。

于 2008-09-02T16:45:50.567 に答える
4

Subversion ブックは、完全かつ無料の形式でオンラインにあります: http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.branchmerge.tags

はい、基本的にはsvnコピーを行います。Subversion は、コピー オン ライト スタイルのメカニズムを実行してスペースを節約し、転送時間を最小限に抑えるほどスマートです。

于 2008-09-02T16:39:13.797 に答える
3

そうです、タグは単なるコピーです:

svn copy trunk tags/BLAH

SVN は実際には何もコピーしないと人々が言うとき、それはリポジトリがデータを複製する必要がないことを意味します。シンボリック リンクに似たものを使用して、コピーを追跡します。

于 2008-09-02T16:36:02.430 に答える
1

タグは、タグが取得された時点の一連のリビジョン番号への参照です。内部的には、ブランチまたはコピーと同じものです。

于 2008-09-02T16:36:46.610 に答える
0

例:

$ svn copy https://jorgesysgr.com/svn/AndNews/branches \
           https://jorgesysgr.com/svn/AndNews/tags/release-1.1 \
           -m "release 1.1 Android News."

詳細::シンプルなタグの作成

于 2013-08-23T16:30:59.240 に答える