0

我想做的是这样的:

当我交付我的代码时,我想将我的源代码部分标记为“已交付”。

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

当我再次交付代码时,应该可以移动或替换在我的源上交付的标签。

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

附录1:

我希望我们尽可能在一个分支中工作,尽可能多地提交和拉/推。然后我们需要标签之类的东西来跟踪处于某种状态的代码。

4

3 回答 3

1

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

于 2013-11-14T08:59:07.057 回答
1

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

如果这是您想要的,那么在 hg 中是不可能的(并且有充分的理由:这被认为是不好的做法)。在这种情况下,您也许可以将单个存储库拆分为 2 个子存储库“lib1”和“src”,分别进行版本控制。然后,您可以通过在超级存储库中提交的方式注册这两个子存储库的特定组合,然后在超级存储库中添加一个“已交付”标签。

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

于 2013-11-14T09:28:37.170 回答
0

Mercurial 中最接近的东西是Tag

于 2013-11-14T08:48:16.833 回答