12

在 Clearcase 中,我可以为给定的一组文件生成一个“标签”,并始终返回该标签以重新生成所有文件,就像我生成标签时一样。

我如何在 Subversion 中做到这一点?我正在使用 Tortoise 前端 [Windows] 到 SVN,但我不确定如何完成此功能。

4

6 回答 6

12

事实上,在 SVN 中,每个提交都会创建一个 'label'。您可以随时返回每个修订(提交)。

理论上,分支和标签之间没有区别。只是一个分支被进一步开发并与来自不同开发人员的提交合并,而没有人应该提交一个标签。

标签通常被赋予一个更详细的名称,例如“RC 1.5 - 它最终似乎稳定的那一天”。

这就解释了为什么 Tortoise 中的“创建分支/标签”是其中之一。

本质上,svn 只是将最后一个修订版本的副本创建到另一个目录(例如标签)中。该副本当然不是完整副本,而是普通差异,因此是连续的修订号。

于 2008-12-08T19:56:26.733 回答
6

相当于颠覆中的标签是“标签”(即在文件夹中创建一个分支,用于标记修订的特定目的)。在回购浏览器中,右键单击“复制到...”,然后选择一个新的文件夹名称。

http://svnbook.red-bean.com/en/1.5/svn.branchmerge.tags.html

于 2008-12-08T19:43:43.887 回答
4

请参阅Tortoise SVN“日常使用指南”的“分支/标记”部分

于 2011-08-19T12:29:38.880 回答
2

Tags相当于 Subversion 中的标签。

标签是通过copy命令或在 TortoiseSVNBranch/Tag菜单选项中创建的。

按照约定,tags被复制到tagsSubversion 存储库中的路径。

顺便说一句,TortoiseSVN 帮助做得很好——日常使用指南非常有帮助。

于 2008-12-08T19:42:13.330 回答
1

你可以通过两种方式做到这一点。

  1. 提交文件的当前状态,现在您可以随时恢复到此版本并恢复文件的状态

  2. 使用您当前的文件创建一个新标签,然后继续在主干中工作。

于 2008-12-08T19:43:37.320 回答
0

使用 svn copy 并在 tags 文件夹中创建一个副本。这比其他任何东西都更约定俗成,但大多数存储库都会有称为主干、标签和分支的文件夹。

不要担心创建额外的副本——它并没有真正复制所有这些文件——副本在颠覆中很便宜。

例如:

svn copy /trunk/foo /tags/foo-1.0
于 2008-12-08T19:43:16.633 回答