Mercurial Hg中的“不是一个修改版!
我在一个小型组织工作,只有两个开发人员,我们使用Mercurial版本控制tortoisehg-2.2.2-hg-2.0.2-x86
。 我是新来的mercurial。
考虑programmerA
, programmerB
在programerA
机器中,我创build了一个名为"EFSL"
的存储库和一个客户端。 programmerB
只是一个名为"Uthaya Kumar"
的客户端,指向programmerA
机器仓库。
当我在programmerA
台机器上拉变化集时,它创build一个新的分支,并且还显示"Not a head revision!"
工作目录和存储库中的错误。
在programmerB
问题。
请看下面的截图。
提前致谢。
检查第一个屏幕截图,看看最上面一行在Rev
列中是8+
。 这意味着您的工作副本基于修订版本8.您可以按照下面的说明进行操作,也可以看到在修订版本8中join了相同的内容。
有两种方法可以解决这个问题,这取决于你是否做了任何改变。
-
如果你没有做任何修改,那么你可以右键点击修订版本13并select更新…。 更新到最新的变化。
-
如果你已经做了修改,那么你需要提交这些修改,然后右键点击修订版本13,然后selectMerge with local … ,这个修改会引导一个向导来处理合并。
在你上一个截图中,你似乎没有得到一个工作副本,所以你需要使用上面的更新程序更新到版本13。
您可以通过更改TortoiseHg中的设置自动进行update
:
- 从
Workbench
selectFile > Settings - select顶部的相应选项卡,select要更改设置的位置。 这些select对于用户来说是全局的,或者仅仅是这个存储库
- select左侧列表中的工作台
- 在右侧的部分中,查找标记为“ 拉动操作”的下拉列表
- 从列表中select更新
这将做一个最新的每次你做一个更新,这将避免在你的第一个截图的问题。 当您和其他开发人员进行更改时,您仍然需要手动合并。
该列表中的其他选项是重新rebase
和fetch
,这两个选项都依赖于启用的适当扩展,并且仅用于高级使用。
这是Mercurial的完全正常和正确的行为。 您的工作目录当前更新为更改集8“合并2”。 拉操作不会改变你的工作目录的内容。 它只是缺less变更集,并将其添加到您的历史图表。 在拉动之后,你仍然在处理变更集8.现在,“Not a head revision”出现警告你,如果你现在做了任何修改并提交它们,你将会创build一个从修订版8派生的新变更集,这将有效地创build新的分支。 这是你可能或不想要做的事情。 通常,在拉动新的变更集之后,通过右键单击最新的变更集并select“更新”,可以将工作目录更新为最新的变更集。
PS你没有使用TortoiseHG的最新版本。 请更新到最新版本。 它包含许多改进和解决许多错误。