标签: gerrit

为Gerrit和Hudson创建SSH密钥

我正在尝试使用该Hudson Gerrit Trigger插件.

无论出于何种原因,Gerrit不接受SSH位于的密钥/var/lib/hudson/.ssh/id_rsa.

在GUI中我得到Connection error : com.jcraft.jsch.JSchException: Auth fail一个错误,当我在终端工作时,我得到一个Permission denied (publickey)错误.

我怎样才能生成和使用工作专用键,以便HudsonGerrit能发挥好?

git hudson ssh-keys hudson-plugins gerrit

8
推荐指数
1
解决办法
2万
查看次数

从gerrit的同行评审员名单中排除作者

我在gerrit中为我的公司设置了访问控制,在我们当前的内部流程中,同行评审员和编码员之间存在交叉(他们往往是同一群人).我们还希望只需要1位评论员对代码进行同行评审,如果看起来不错则提交.

使用默认设置,任何具有该+2: Looks good to me, approved选项的用户都可以查看自己的代码.

有没有办法阻止作者查看自己的代码,但仍然允许他们全面审查其他代码?我无法在访问控制组设置或权限设置中找到任何类型的排除作者.

gerrit

8
推荐指数
1
解决办法
3543
查看次数

gerrit + apache2无法退出

我可以登录gerrit服务器并查看代码.但是当我点击退出时点击右上方的退出链接我无法退出,它将返回到Code Review Dashboard页面

下面是我的httpd.conf和gerrit.config,请帮帮我!!! 韩国社交协会...

<VirtualHost *>  
  ServerName localhost 
  ProxyRequests Off  
  ProxyVia Off  
  ProxyPreserveHost On  

  <Proxy *>  
        Order deny,allow  
        Allow from all  
  </Proxy>  

  <Location /login/>  
     AuthType Basic  
     AuthName "Gerrit Code Review"  
     AuthBasicProvider file  
     AuthUserFile /home/kk/gerrit/server/etc/passwords  
     Require valid-user  
  </Location>  

  ProxyPass / http://10.10.68.224:9091/
  ProxyPassReverse / http://10.10.68.224:9091/
</VirtualHost>  
Run Code Online (Sandbox Code Playgroud)

gerrit.config

[gerrit]
    basePath = git
    canonicalWebUrl = http://10.10.68.224:9091/
[database]
    type = H2
    database = db/ReviewDB

[auth]
    type = HTTP
[sendemail]
    smtpServer = localhost
[container]
    user = kk
    javaHome = /usr/lib/jvm/java-6-sun-1.6.0.26/jre
[sshd]
    listenAddress = *:29418
[httpd] …
Run Code Online (Sandbox Code Playgroud)

git apache2 gerrit

8
推荐指数
2
解决办法
5362
查看次数

OpenID与Gerrit无法正常工作

当我点击注册或使用Gerrit Code Review登录时,我收到此错误: Provider is not supported, or was incorrectly entered.

当我手动将URL输入OpenID字段时,它会转到Google页面,说明: The page you requested is invalid.

有什么线索在这里发生了什么?

编辑:经过进一步调查,我意识到,如果我将OpenID字段中提供的URL更改为http而不是https,它会将我重定向到Google并请求我批准.然而,在重定向回Gerrit时,似乎没有发生任何事情.我尝试多次注册/签名,但没有效果.

我还在MySQL数据库中查看是否存储了任何数据,并且似乎没有.

编辑2:我现在向Gerrit提交了一份错误报告.

编辑3:回答.我已经做得很好,可以更仔细地阅读以前的错误报告.我的系统管理员也非常缺乏.尽管如此,这是作为另一个bug的副本解决的,并且是Debian问题; 见下文.

git openid gerrit

7
推荐指数
1
解决办法
5451
查看次数

为Gerrit及其所有Git repos设置镜像的最佳方法

我有一个Gerrit服务器(名为A),我想为新服务器(名为B)设置一个镜像.我想从B中取代而不是使用A的处理能力,因为A作为主要的Gerrit服务器,当我可以使用来自B的SSH镜像时,我不想在其上添加更多的工作量.

我正在使用H2数据库,我想镜像整个Gerrit +所有的Git repos,而不仅仅是Git repos,因为我想保留Gerrit数据库的权限/历史记录.

我设法缩小了两种可行的方法:

  1. 使用"格里特复制" http://gerrit.googlecode.com/svn/documentation/2.1.6/cmd-replicate.html 不知道它的"[--url <PATTERN>]"的意思.我应该在哪里运行此命令?它是在服务器A还是B上?

  2. 使用"rsync"即可,但我无法同步review_site/etc/gerrit.config,因为它包含服务器A的IP,并且不希望在服务器B上拥有它.

git mirror gerrit

7
推荐指数
1
解决办法
9653
查看次数

在Gerrit中,如何防止提交的补丁集不完全是最新的?

两个开发人员正在开发分支上进行两个完全不同的更改(例如,两个不同的文件).他们同时提交他们的工作,触发两个Jenkins构建.这些构建很好,但一篇评论比另一篇要长.

第一个dev提交他们的补丁集,并且没有开发的中间提交,所以Gerrit将其合并.

第二个dev后来提交了他们的补丁集.虽然现在有一个中间提交,但合并本身是微不足道的,Gerrit执行合并.

现在我们有两个构建,它们都不包含另一个构建的工作.

如果有任何中间提交,我想阻止第二次提交,即使合并完全无关紧要,导致开发人员改为重新提交并更新他们的提交(并在此过程中触发Jenkins中的新构建).

在审核完成后,我在Gerrit中设置了什么来阻止这些无关紧要但又不需要的合并,补丁集正在提交,但目标分支上有中间合并?

git gerrit jenkins

7
推荐指数
1
解决办法
1158
查看次数

存储库迁移到Gerrit,git push --mirror返回refs/meta/config(无法删除项目配置)

在将我的旧git存储库(位于redmine中)迁移到我的新Gerrit存储库时,我遇到了一些奇怪的问题.

基本上我做了一个

git clone --mirror ssh:// .... old-repo.git
cd old-repo.git/
git push --mirror ssh:// .... new-gerrit-repo
Run Code Online (Sandbox Code Playgroud)

好吧,现在我第一次收到一些警告:

remote: (W) a01300f: commit message lines >70 characters; manually wrap lines
remote: (W) 8def171: commit subject >65 characters; use shorter first paragraph
Run Code Online (Sandbox Code Playgroud)

我想我可以忽略,因为原始存储库仍然作为参考存在.

我的主要问题是这个错误:

! [remote rejected] refs/meta/config (cannot delete project configuration)
error: failed to push some refs to ssh:// .... new-gerrit-repo
Run Code Online (Sandbox Code Playgroud)

经过一些阅读后我发现,这个refs/meta/config分支只包含Gerrit的一些项目特定规则.它有一些用于参数化Gerrit的配置文件.(它基本上是Gerrit"常规"选项卡下的"项目选项"页面)没有与项目相关的源文件.

有人能帮我吗?保存忽略此错误并继续迁移吗?

访问推送;读取;为refs/meta/config上的管理员提供提交权限.什么都没有帮助.

谢谢你的每一条消息!

migration git config gerrit jenkins

7
推荐指数
1
解决办法
2729
查看次数

git错误解压缩失败丢失blob git审查到gerrit

嘿我随着我正在做的一些工作随机地得到这些错误.通常我会在代码审查后编辑一个repo,然后运行以下命令.

git add .
git commit --amend
git review
Run Code Online (Sandbox Code Playgroud)

然后我有时会得到这个错误

error: unpack failed: error Missing blob c7eb8a2bcbe57f7f134819fbe6e2975b04b2e548
fatal: Unpack error, check server log
To ssh://a.b@address.com:29418/wns/chef/splunk-hop
 ! [remote rejected] HEAD -> refs/publish/develop (n/a (unpacker error))
error: failed to push some refs to 'ssh://a.b@address.com:29418/wns/chef/splunk-hop'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这是我正在做的事情还是我推动它的服务器?

git gerrit

7
推荐指数
3
解决办法
7837
查看次数

添加gerrit组作为审阅者

我有一个名为"UI_Developers"的gerrit组

我使用以下命令提交我的更改以供审阅:

git push origin HEAD:refs/for/master%r=abc@morg.com
Run Code Online (Sandbox Code Playgroud)

但是,我想将UI_Developers组中的所有成员添加为审阅者命令行.使用UI这很容易,通过使用命令行,任何想法如何添加整个gerrit组作为审阅者?

PS:ssh -p ...set-reviewers -a reviewer 方法非常繁琐,因此我不是在寻找它.

gerrit git-review

7
推荐指数
1
解决办法
2422
查看次数

Gerrit:有没有办法将顶级提交推送到同一个分支?

在搜索了一个灯并找到了不少类似的问题之后,他们似乎都没有真正回答我的问题(在我找到的相关问题列表下面).

我在尚未审核的提交之上开发了进一步的更改,但我希望将更改分开.当试图推送新补丁进行审核时,我收到错误:

! [remote rejected] HEAD -> refs/for/master (no changes made)
Run Code Online (Sandbox Code Playgroud)

场景: 在我的分支中,我有提交A(合并)< - 提交B(采摘/未合并)< - 提交C(我想推送的最近更改).

如上所述,Commit C依赖于B(但是因为我希望它们分开,所以无法进行压缩.同时删除B不是一个选项,因为它添加了尚未出现的更改是C).

因此,当我尝试推送Commit C进行审核时,我收到上面的错误消息(我知道这是因为Commit B低于新的Commit C).

我的问题是:在提交B合并之前,有没有办法只将 Commit C 发送给Gerrit?或者我真的必须等待B合并才能发送提交C?

家庭作业:

Gerrit工作流程 - 将单个提交推送到主题分支

Git/gerrit,推远程拒绝没有做出任何改动

有没有办法强制Gerrit将分支中的所有提交推送到代码审查?

git - 只推送最顶级的提交到服务器

git gerrit

7
推荐指数
1
解决办法
1384
查看次数