我有一个运行脚本来构建项目的 Bamboo 计划。该脚本将解决方案中的 AssemblyInfo.cs 文件更新为下一个内部版本号,然后提交更改并执行 fetch 以合并任何更改并避免获得多个 head。
hg commit -m "$(Major).$(Minor).$(Build).$(Revision)"
hg fetch
Bamboo 的输出最终为:
02-Jul-2012 07:50:11 CommitChanges:
02-Jul-2012 07:50:11 Commiting version number changes for d:\Builds\TDFGE-DRD-JOB1
02-Jul-2012 07:50:11 hg commit -m "1.0.0.6"
02-Jul-2012 07:50:12 created new head
02-Jul-2012 07:50:12 hg fetch
02-Jul-2012 07:50:12 abort: multiple heads in this branch (use "hg heads ." and "hg merge" to merge)
02-Jul-2012 07:50:12 d:\Builds\TDFGE-DRD-JOB1\Build.proj(96,3): error MSB3073: The command "hg fetch" exited with code 255.
02-Jul-2012 07:50:12 Done Building Project "d:\Builds\TDFGE-DRD-JOB1\Build.proj" (UpdateVersionAndBuild target(s)) -- FAILED.
02-Jul-2012 07:50:12
02-Jul-2012 07:50:12 Build FAILED.
Mercurial 的文档说 Fetch 应该获取最新的代码并合并任何更改。
这似乎是一个非常简单的任务,更改一些文件,签入,继续。那么我在这里错过了什么?我需要做一个合并还是什么?PS。我确实尝试在原始提交之后添加另一个合并/提交(似乎不正确,但它已完成),但随后推送回主存储库的文件仍然具有旧版本号,即它们没有改变。似乎合并命令将主存储库作为主要父级。