Svn “颠覆”;标签";像SourceSafe

Svn “颠覆”;标签";像SourceSafe,svn,Svn,有没有类似于svn中SourceSafe标签的方法?我知道bransch/tag,但我希望有一种更轻量级的方法,只为特定版本设置名称。您应该为此使用标记。这正是标记的用途。请参阅。标记非常轻量级,尽管它是由“copy”命令创建的 在subversion中,副本非常简单、快速和有效。您不应该担心性能或存储空间。Subversion中的标记是正确的方法。它们可能不会“看起来”轻量级,因为它们是树副本,但由于Subversion非常懒惰地进行复制,因此它不会占用任何磁盘空间,超过用于记录事务“copi

有没有类似于svn中SourceSafe标签的方法?我知道bransch/tag,但我希望有一种更轻量级的方法,只为特定版本设置名称。

您应该为此使用标记。

这正是标记的用途。请参阅。

标记非常轻量级,尽管它是由“copy”命令创建的


在subversion中,副本非常简单、快速和有效。您不应该担心性能或存储空间。

Subversion中的标记是正确的方法。它们可能不会“看起来”轻量级,因为它们是树副本,但由于Subversion非常懒惰地进行复制,因此它不会占用任何磁盘空间,超过用于记录事务“copied/trunk/to/tags/whatever”的磁盘空间。Subversion手册中有。

我认为如果您从主干的修订号创建一个标记,那么您就可以开始查看主干的日志了

如何更改修订日志中的标签位置

例如: 我创建了一个名为“production version”的标记,它在修订版8中标记了file1.txt,几天后,我希望相同的标记告诉我file1.txt在修订版16中标记

在VSS中,在这种情况下,用户可以在修订日志中“移动标签”。
在SVN中,我不想创建“production version1”、“production version2”…

尽管这个问题已经发布了很长一段时间,并且使用标签的正确答案已经被提出(重复:-),但我相信最有用的答案不仅提供了正确的信息,而且提供了全面的信息:供思考的食物,关于进一步发展的见解等。我写了一篇很长的文章,就是这样做的,在我的《乌龟》和《颠覆烹饪书》(在Simple Talk.com上)最新出版。其中一个食谱(移动标签)甚至解决了AnT在其答案中提出的相关问题,并为您不应该这样做提供了有力的理由

以下是该章中的食谱列表,可以激发你的智力欲望:

管理标签

  • 将最新版本标记为发行版
  • 将早期版本标记为发行版
  • 零碎地贴标签
  • 移动标签
使用标签和修订调整您的世界视图

  • 将环境恢复到带标签的修订版
  • 将环境恢复到未标记的修订版
  • 了解切换和更新之间的区别
  • 了解恢复和更新之间的区别
  • 从以前的版本返回到现在

如果不想使用标记分支,则可以使用修订号

当SVN增加revnum以使每个签入都是唯一的时,每个revnum在给定时间成为整个repo的快照。因此,如果您知道您签入了“tag 1.0”,并且它被分配了revnum 232,那么您可以通过签出修订版232来重新生成该签入(即从该“标签”获取所有文件)。就这么简单


但是,SVN中没有将人类可读文本与修订号关联起来的功能,因此您必须自己跟踪它们(或者找到一个软件包来为您执行此操作)。

我建议您每次部署时都创建一个单独的标记,因为它很便宜,而且历史记录也很有用。不过,您仍然可以完成您的方法。删除标记并在相同位置重新创建,但使用当前头部修订。从URL执行更新或导出的用户现在将获得最新的内容。通过将URL与显式修订号组合,旧内容仍然可用。当然,如果您还为每个版本保留了一个标记,那么就可以使用这些标记。而“current”现在只是最高版本号。