像Mercurial中的VSS标签?

时间:2013-11-14 08:45:08

标签: mercurial

我想做的是这样的事情:

当我发送我的代码时,我想用“已交付”标记我的部分来源。

如果其他开发人员遵循相同的约定,则应该可以从scm中提取标记为已传递的所有代码。

当我再次发送代码时,应该可以移动或替换我的源代码上提供的标签。

您在Mercurial中可以做的最接近的事情是什么,或者如上所述,在特定状态下跟踪代码的最佳惯例是什么? (我实际上并没有在VSS中做过很多这样的事情,实际上我可能会误解它是如何工作的)

附录1:

我希望我们尽可能在一个分支中工作,尽可能地提交和拉/推。然后我们需要像标签这样的东西来跟踪特定状态下的代码。

3 个答案:

答案 0 :(得分:1)

听起来你可能想要命名分支。每个开发人员都可以在自己的分支上工作,并在准备好时将其分支合并到“已交付”分支。当所有开发人员合并他们的分支时,可以对发布进行最终检查并标记。

答案 1 :(得分:1)

如果我理解这一点,您希望在多个版本中标记单个文件。例如。在修订版1中,您将 / lib1 / 中的所有文件标记为“已发送”,而在修订版2中,您将 / src / 中的所有文件标记为“已发送”。现在,如果某人出现并告诉hg给他所有“已交付”的代码,则需要 / lib1 / 来自修订版1和 / src / 修订版2中的文件。

如果这是你想要的,那么hg是不可能的(并且有充分的理由:这被认为是不好的做法)。在这种情况下,您可以将单个repo分成2个子目录“lib1”和“src”,分别对它们进行版本控制。然后,您可以通过超级存储库中的提交注册这两个子存储库的某个组合,然后在超级存储库中标记“已传递”。

如果您不想要这样的内容,我不明白仅标记修订版中文件子集的目的。在这种情况下,标准标记就足够了,因为您可以在Mercurial中移动公共标记(无论如何)(以及历史记录!)。

答案 2 :(得分:0)

Mercurial中最接近的是Tag