git review -s无法正常工作

时间:2018-06-28 14:20:53

标签: git gerrit git-review

我正在尝试首次使用git设置gerrit。我正在按照https://www.mediawiki.org/wiki/Gerrit/Tutorial中的说明进行操作。我已经安装了git,创建了一个gerrit用户帐户,并设置了我的ssh密钥,现在在运行sudo apt-get install git-review之后,我在git目录中运行了git review -s -v,并获得了以下输出:

2018-06-28 08:54:15.098084 Running: git config --get gitreview.remote
2018-06-28 08:54:15.102217 result: origin
2018-06-28 08:54:15.102337 Running: git config --get gitreview.scheme
2018-06-28 08:54:15.106441 using default: None
2018-06-28 08:54:15.106556 Running: git config --get gitreview.hostname
2018-06-28 08:54:15.111010 using default: None
2018-06-28 08:54:15.111106 Running: git config --get gitreview.port
2018-06-28 08:54:15.116715 using default: None
2018-06-28 08:54:15.116873 Running: git config --get gitreview.project
2018-06-28 08:54:15.121874 using default: None
2018-06-28 08:54:15.122029 Running: git log --color=never --oneline HEAD^1..HEAD
2018-06-28 08:54:15.127908 Running: git remote
2018-06-28 08:54:15.134383 Running: git branch -a --color=never
2018-06-28 08:54:15.141301 Running: git rev-parse --show-toplevel --git-dir
2018-06-28 08:54:15.147041 Running: git config --get remote.origin.pushurl
2018-06-28 08:54:15.152315 using default: None
2018-06-28 08:54:15.152473 Running: git config --get remote.origin.url
2018-06-28 08:54:15.157253 result: file:///home/jd/gitrepos/newrepo
2018-06-28 08:54:15.157356 Running: git config --list
Found origin Push URL: file:///home/jd/gitrepos/newrepo
Fetching commit hook from: scp:///hooks/commit-msg
2018-06-28 08:54:15.163017 Running: scp :hooks/commit-msg .git/hooks/commit-msg
Problems encountered installing commit-msg hook
The following command failed with exit code 1
    "scp :hooks/commit-msg .git/hooks/commit-msg"
-----------------------
cp: cannot stat ':hooks/commit-msg': No such file or directory

因此,我然后尝试使用此链接https://www.mediawiki.org/wiki/Gerrit/Alternatives_to_git-review中的指示,在钩子中手动预安装commit-msg,该链接修复了发生此特定错误的问题。但是在那之后运行git review -s -v实际上似乎没有任何作用。输出为:

2018-06-28 09:07:13.356813 Running: git config --get gitreview.remote
2018-06-28 09:07:13.360779 result: origin
2018-06-28 09:07:13.360892 Running: git config --get gitreview.scheme
2018-06-28 09:07:13.364968 using default: None
2018-06-28 09:07:13.365102 Running: git config --get gitreview.hostname
2018-06-28 09:07:13.369144 using default: None
2018-06-28 09:07:13.369363 Running: git config --get gitreview.port
2018-06-28 09:07:13.375098 using default: None
2018-06-28 09:07:13.375383 Running: git config --get gitreview.project
2018-06-28 09:07:13.380644 using default: None
2018-06-28 09:07:13.380934 Running: git log --color=never --oneline HEAD^1..HEAD
2018-06-28 09:07:13.387931 Running: git remote
2018-06-28 09:07:13.396294 Running: git branch -a --color=never
2018-06-28 09:07:13.403513 Running: git rev-parse --show-toplevel --git-dir

我以为git review -s应该设置一个Gerrit遥控器,但是现在当我运行git remote -v时,我看到的只是:

origin  file:///home/jd/gitrepos/newrepo (fetch)
origin  file:///home/jd/gitrepos/newrepo (push)

没什么好担心的。

我很困在这里,我认为.gitreview文件可能有问题。我已经花了一段时间了,所以我已经阅读了很多各种各样的说明,现在我在存储库中手动创建了一个.gitreview文件,内容如下:

[gerrit]
host=gerrit.wikimedia.org
project=newrepo.git

设置的更多背景信息:我的存储库位于〜/ gitrepos / newrepo中,并且我将从该位置拉到〜/ gitworkspace / newrepo。我是从〜/ gitworkspace / newrepo运行所有这些命令来尝试设置gerrit的。我最终希望能够从〜/ gitworkspace / newrepo推送,并在批准将其推送到〜/ gitrepos / newrepo之前查看有关gerrit的评论。

1 个答案:

答案 0 :(得分:0)

这些行:

2018-06-28 09:07:13.356813 Running: git config --get gitreview.remote
2018-06-28 09:07:13.360779 result: origin

指示默认远程为origin,并且看起来确实已设置了该远程。因此,这似乎按预期工作。

您要指出的另一个问题是git-review无法复制commit-msg挂钩。我不太确定这一点。看来gerrit无法找到commit-msg钩子。这使我认为这是两个原因之一:

  1. 提交钩不在预期的位置(您的gerrit安装不是默认的吗?)
  2. 您的遥控器未在gerrit内部正确配置,因此对该遥控器的scp调用无法正常工作。

我的猜测是因为找不到您的遥控器