为什么在推动期间创造了一个新头?

时间:2014-05-16 18:54:25

标签: mercurial bitbucket tortoisehg

我的生产代码位于default分支中,新功能进入命名分支,当新功能正常时,这些分支将与default合并。我最近将开发daytemp合并到default并开始处理分支separate processes。我把我所拥有的东西推到了bitbucket,这就是它现在显示的状态:

bitbucket

我意识到default中有一个错误,所以,在另一台计算机上,我拉,更新到default并修复了错误。我承诺提交a7cf17ca158e" bug:显示所有栏..." )并想要推送到bitbucket。这就是计算机上的Tortoise HG所显示的:

Tortoise HG

你能帮我理解问题所在吗?从mercurial docs我明白我有一个相当标准的情况(我有两个头,一个用于default,一个用于separate processes)所以我不明白哪个新的bitbucket警告我在推动时会创造。

编辑结果发现,在Vince的评论之后,图表中确实隐藏了一个新的头部。

输出hg outgoing

changeset:   152:ce343f208e48
parent:      150:ebd10baed373
user:        wojtek
date:        Thu May 15 06:21:43 2014 +0200
summary:     bug: time string when no connection

changeset:   161:a7cf17ca158e
tag:         tip
parent:      159:dd4af8e3f7d5
user:        wojtek
date:        Fri May 16 19:55:54 2014 +0200
summary:     bug: all bars were displayed after a day (not cleaned up)

比变更集152是罪魁祸首。在将其与当前default合并后,推送很顺利。

2 个答案:

答案 0 :(得分:0)

  • hg help push
  • 所述
  

默认情况下,推送不允许在目的地创建新头,   因为多个头会使人不清楚使用哪个头。

  

如果要允许push创建目的地不存在的新命名分支,请使用--new-branch

  • 它与无关紧要(对于Mercurial而言)是单个分支或不同的新头,无论如何都是额外的负责人

  • TortoiseHG的Workbench中的默认推送设置没有复选框" new-branch"任何存储库的选项。只需在推送更改之前启用它,其中包含之前在远程存储库分支上不存在的变更集"单独的过程"。只需在第一次推送任何新分支之前启用新分支

Push Options

答案 1 :(得分:0)

在做hg outgoing时你有什么用?

你当前的回购中是否有另一个default头,在该范围内不可见,但也试图推送?我所说的是2个头可能已经在你当地的回购中。