Svn 在Subversion中,为什么我的标记版本中有一个trunk副本?

Svn 在Subversion中,为什么我的标记版本中有一个trunk副本?,svn,Svn,我的项目是在Subversion中建立的,具有标准的主干/分支/标记结构。我使用copy命令创建了一个标记,如下所示: svn copy /path/to/project/trunk /path/to/project/tags/cya_tag 这会像我预期的那样创建一个副本,但我也可以看到一个新目录/project/tags/cya_tag/trunk,其中包含trunk的另一个副本 我的猜测是,这个副本用于跟踪标记版本从主干分支的位置,但我在任何地方都找不到任何说明这一点的文档。我说得对吗

我的项目是在Subversion中建立的,具有标准的主干/分支/标记结构。我使用
copy
命令创建了一个标记,如下所示:

svn copy /path/to/project/trunk /path/to/project/tags/cya_tag 
这会像我预期的那样创建一个副本,但我也可以看到一个新目录
/project/tags/cya_tag/trunk
,其中包含trunk的另一个副本


我的猜测是,这个副本用于跟踪标记版本从主干分支的位置,但我在任何地方都找不到任何说明这一点的文档。我说得对吗?

对于svn/branchs或/trunk,与其他目录一样,它们是一个常见的目录。它不会以任何特殊的方式处理它们。可能有人为了得到你看到的东西而执行了死刑:

svn copy /path/to/project/ /path/to/project/tags/cya_tag 
要了解此检查svn日志:

svn log /path/to/project/tags/cya_tag 

对于svn/branchs或/trunk,与任何其他目录一样,都是一个公共目录。它不会以任何特殊的方式处理它们。可能有人为了得到你看到的东西而执行了死刑:

svn copy /path/to/project/ /path/to/project/tags/cya_tag 
要了解此检查svn日志:

svn log /path/to/project/tags/cya_tag 

SVN不知道分支。它只是将其视为一个副本,因此不会维护一个副本来跟踪某个分支的位置。我猜想您(或您的项目团队中的其他人)在第一次之后意外地运行了相同的命令,从而将trunk作为子目录复制到
cya\u标记中
svn日志
会很有启发性。要跟进ZoogieZork的评论,如果您想重用标签
cya_标签
,您必须在执行
svn复制
之前删除现有的标签。正如佩斯所说,标记只是在Subversion中复制。如果复制目标已存在,则会将源复制到其中。SVN不支持分支。它只是将其视为一个副本,因此不会维护一个副本来跟踪某个分支的位置。我猜想您(或您的项目团队中的其他人)在第一次之后意外地运行了相同的命令,从而将trunk作为子目录复制到
cya\u标记中
svn日志
会很有启发性。要跟进ZoogieZork的评论,如果您想重用标签
cya_标签
,您必须在执行
svn复制
之前删除现有的标签。正如佩斯所说,标记只是在Subversion中复制。如果复制目标已存在,则将源复制到其中。