0

我需要一些具体的想法。

我们正在考虑更改我们的版本控制系统,我希望我们使用 Mercurial。它将减轻与某些内部流程相关的许多痛苦,并带来一些挑战。

其中一个挑战是我们当前使用的版本控制系统不是分布式系统,因此我们在内部使用了每个变更集的修订号概念。

基本上,当程序员在我们的案例管理系统中签入修复案例的最终更改时,Visual Studio 会响应它变成了哪个变更集编号,然后程序员将其附加到基本上说“如果您正在运行一个版本我们产品的最后一个版本号具有此值或更高,那么您将拥有该版本中的所有更改。”

但是,使用 Mercurial 不起作用,因为修订号可以并且将会随着来自不同分支的提交而改变。

所以我想知道我怎样才能得到类似的东西。

请注意,这与发布管理无关。发布受到更多控制,但正在进行的测试更加流畅,因此我们希望避免让测试人员不断尝试确定他列表中的测试用例是否真的在他正在测试的版本中可用。

基本上,我需要测试人员能够查看他们正在测试的版本是否具有与测试用例相关的更改。

我正在考虑以下内容:

  1. 程序员提交并获取变更集的哈希
  2. 程序员在我们的案例跟踪器中将此附加到案例中
  3. 构建过程必须标记(不是以 Mercurial 方式)版本,以便它知道它是从哪个变更集构建的
  4. 我必须轻松获取构建我们产品的变更集的哈希值,在用于我们构建机器的存储库的变更集日志中查找它,然后确定产品变更集是否与以下内容相同,或测试列表中每个案例的祖先。

所以我有两个问题:

  1. 这是一种可行的方法吗?我不反对创建一个易于处理的 Web 应用程序
  2. 有谁知道可以帮助我的替代过程?我看过标记,但似乎标记最终会增加合并压力,这是我想要的吗?(即添加/移动标签最终作为提交,需要与系统的其余部分合并)
  3. 有没有什么东西可以帮助我开箱即用,也就是说,有人已经制作或知道了这样的东西吗?
  4. 还有其他想法吗?
4

2 回答 2

1

说您正在寻找与您的构建过程相关联的轻量级标记过程是否正确?

我不喜欢程序员抓取最后一个哈希并将其粘贴到其他地方的想法 - 听起来像是一种你不能依赖的手动过程。您是否能够围绕程序员将案例编号添加到他们的提交消息中构建一个流程,以便以后可以将提交链接到原始案例?当案例被标记为“关闭”时,您可以获取针对该案例的所有提交。

许多案例控制系统都有这个 -例如Fogbugz

于 2010-11-05T14:46:27.127 回答
1

bitbucket 和 google 代码都保留了一个分支时间线,可以直观地显示合并的内容、合并者和时间。我怀疑这可能是您想要做的:这是解决问题 4 的一种非常简单的方法。

他们是怎么做到的,我不知道,但工具就在那里。BitBucket 提供商业代码托管。

于 2010-11-05T15:29:00.820 回答