2017-04-05 92 views
1

我目前在我的新公司中设置了gerrit服务器。我过去使用gerrit好几年了,但我从未设置过一个。在没有父母的情况下在gerrit中提交补丁

我安装了gerrit 2.13.5,我试图配置它。我有两个最后要解决的问题(我在这里只讨论一个)。

我的列表提交A-> B->Ç

A是B的父,B是的Ç

  • 有人拒绝(-2)我的补丁A和B(因为它们不好),但接受C(+2)。
  • C是完全地无关的A和B(在另一个文件夹中其他文件到我的项目)

的按钮“提交包括父母”似乎我犯C,但我不能摘樱桃成格里特/主因为A和B都是拒绝分支。由于C与A或B无关,但我不想要太多本地分支,所以我已经完成了所有3个提交到同一分支。

我用摘樱桃提交选项为格里特配置

[submit] 
action = cherry pick 
mergeContent = true 

我认为,使用这个选项,我能摘樱桃的提交对象没有直接父母的依赖。我曾经在我以前的公司这样做过,但我无法成功在这里设置gerrit。

如果有人有任何想法或问题,我会真的得到或回答它。

干杯。

+0

如果C与A和B没有关系,那么将其基于上游分支而不是B,这样就不会有A和B作为父母,并且您将不会有合并问题。 – larsks

回答

2

我有一个非常不同的版本Gerrit(2.13.6),我试图在这里重现这个问题。我发现以下几点:

  1. 如果项目战略是 “樱桃挑选” 按钮显示 “提交”

enter image description here

  • 如果该项目的策略是任何其他选项,按钮显示“提交包括父母”
  • enter image description here

    使用第一个选项,可以在第一个选项之前提交第二个提交,而没有问题。

    因此,我认为检查您是否确实为您的特定项目设置了“Cherry Pick”策略是一个好主意。如果“Cherry Pick”策略设置正确,则可以尝试更新最后一个可用版本(2.13.7)。

    +0

    你又是对的。在创建一些项目后,我将策略从“必要时重新分配”改为“Cherry Pick”。新创建的项目有正确的策略,而老项目则没有。我一个一个改变了所有错误的项目策略,现在一切都是正确的。谢谢。 –

    0

    在这种情况下,无论您的项目是什么,都有一种可能性。

    • 点击Rebase按钮。
    • 检查选项Change parent revision
    • 输入你可能要重订的分支或HEAD任何未提交变更的Git的SHA-ID提交分公司。

    这将为更改创建一个新的补丁集。评论将不得不再次完成,并且验证将再次执行。虽然这不是直接提交,但如果您没有gerrit服务器设置权限,这可以提供帮助。

    相关问题