小编kop*_*aka的帖子

使用Mercurial执行历史构建

背景

我们使用中央存储库模型来协调团队中所有开发人员之间的代码提交.我们的自动夜间构建系统每天凌晨3点都有一个代码提交截止日期,当时它将最新代码从中央存储库提取到自己的本地存储库.

几周前,执行了包含回购的修订版1版本.那时,构建系统没有以任何方式跟踪用于执行构建的存储库的修订(现在,幸运的是).

  -+------- Build Cut-Off Time
   |
   |
   O    Revision 1
Run Code Online (Sandbox Code Playgroud)

在构建截止时间一小时,开发人员从存储库中分支并在他们自己的本地副本中提交了新的修订.他们没有在切断之前将其推回中央仓库,因此它没有包含在构建中.这将是下图中的修订版2.

  -+------- Build Cut-Off Time
   |
   | O  Revision 2
   | |
   | |
   |/
   |
   O    Revision 1
Run Code Online (Sandbox Code Playgroud)

构建一小时,开发人员将他们的更改推回到中央仓库.

   O    Revision 3
   |\
   | |
  -+-+----- Build Cut-Off Time
   | |
   | O  Revision 2
   | |
   | |
   |/
   |
   O    Revision 1
Run Code Online (Sandbox Code Playgroud)

因此,修订版1将其纳入构建版本,而修订版2中的更改将包含在第二天早上的版本中(作为修订版3的一部分).到现在为止还挺好.

问题

现在,今天,我想重建原始版本.看似明显的步骤就是

  1. 确定原始版本中的修订版本,
  2. 更新到该修订版,并且
  3. 执行构建.

步骤1中出现问题.在没有单独记录的存储库修订版的情况下,如何确定原始版本中使用的repo修订版?所有修订都在同一个命名分支上,并且不使用任何标记.

log命令

  hg …
Run Code Online (Sandbox Code Playgroud)

mercurial logging date build

6
推荐指数
2
解决办法
274
查看次数

标签 统计

build ×1

date ×1

logging ×1

mercurial ×1