我在Mercurial遇到了一个相当奇怪的结果。我有一个存储库,它自动将更改从CVS存储库合并到命名分支“someBranch”。它都是脚本化的,在mercurial端使用的唯一命令是
hg ci -A -u someUser -m someMessage
hg push
这很好用了一段时间。今天,我注意到hg push命令最近停止工作,告诉我它正在someBranch上创建新的远程磁头。
我试图找出发生了什么。同步已停止使用changset 168091.使用
hg log -G
获得:
o changeset: 168092:88b141ad6ac5
| branch: someBranch
| user: someUser
| date: Mon Mar 02 16:59:06 2015 +0100
| summary: someMessage.
|
o changeset: 168091:972642c90d59
branch: someBranch
parent: -1:000000000000
user: someUser
date: Mon Mar 02 16:58:59 2015 +0100
summary: someMessage.
o changeset: 168090:551d2e1bdbfd
| branch: someBranch
| user: someUser
| date: Mon Mar 02 16:58:52 2015 +0100
| summary: someMessage.
|
这显然意味着168091不被理解为168090的孩子,这解释了为什么推动不起作用。
是否有人知道如何提交产生新的根?这种行为对我来说很奇怪,我想知道它是否是Mercurial的错误?我使用的是3.2.4版本。我不是在Windows上运行。
答案 0 :(得分:0)
您是否在Windows共享上使用存储库?在某些版本中存在导致类似效果的硬链接错误。这在版本3.3.2中得到解决。
请参阅WhatsNew in Mercurial 3.3.2:
Mercurial 3.3.2(2015-03-02)
要修复的计划外错误修复版本...
事务:确实禁用了硬链接备份(issue4546)