要点:
当我执行post-review
时,我会在reviewboard
上创建新的评价,但我无法从我的diff
项目中获取CVS
。< / p>
新请求的post-review
使用debug选项显示命令行的diff。在显示差异之后,审核后脚本会尝试将差异上传到服务器(它甚至会显示差异大小),在尝试上传后会显示差异文件为空的消息。
在服务器端,日志会抱怨要传播的CVS文件的绝对路径。
进行其他读取时,可以通过删除cvs根路径并使用相对路径而不是绝对路径来修复绝对路径问题。在我的项目的CVS目录中,Repository
文件显示为相对路径。我认为需要更新的值存在于评论板服务器上,某处。从我所读到的内容来看,这听起来像是一个配置问题,但我不确定我需要更新什么。
设置详情:
审核委员会服务器:
Cent OS 6.0 Review Board 1.7.11
客户端:
Windows 7 Python 2.7.3 RBTools 0.5.1 setuptools 0.7.7
更多详情:
我过去曾使用Reviewboard
在不同服务器上使用perforce来帮助进行代码审核。我正在使用CVS
作为源控件的另一家公司开展新项目。
我在与CVS服务器不同的盒子上设置了Reviewboard。 Reviewboard
已设置并通过pserver
连接到我的存储库。存储库从Reviewboard管理控制台正确连接。
为了获得连接到服务器的后期审核,我在项目目录中创建了一个.reviewboardrc
文件,我试图发布评论。它看起来类似于:
REPOSITORY = "cvsroot"
REVIEWBOARD_URL = "http://10.100.10.231"
USERNAME = "user"
PASSWORD = "password"
差异看起来像它正常工作,就像我跑:post-review --output-diff
我得到:
C:\path>post-review --output-diff
cvs diff: ignoring __history (CVS/Entries missing)
cvs diff: Diffing .
Index: blob.cpp
===================================================================
RCS file: /home/cvsroot/path/on/server/blob.cpp,v
retrieving revision 1.3
diff -u -r1.3 blob.cpp
--- blob.cpp 28 Jun 2013 23:28:55 -0000 1.3
+++ blob.cpp 1 Jul 2013 19:56:57 -0000
@@ -31,7 +31,12 @@
__fastcall TformBlob::TformBlob(TComponent* Owner)
: TForm(Owner)
{
+<<<<<<< blob.cpp
+ // This is a test to see if I can get it into source control with review
board.
+ // test 2 after clean check in.
+=======
// jao: This is a test to see if I can get it into source control with r
eview board.
+>>>>>>> 1.3
}
//---------------------------------------------------------------------------
void __fastcall TformBlob::btnSelectFileClick(TObject *Sender)
cvs diff: Diffing Debug
cvs diff: Diffing Reports
C:\path>
当我执行post-review -r 1 -d
时,它会经历差异处理,但似乎在将差异上传到服务器时出现问题。以下包含错误消息:
cvs diff: Diffing Debug
cvs diff: Diffing Reports
---
>>> HTTP GETting api/
>>> HTTP GETting http://10.100.10.231/api/info/
>>> Using the new web API
>>> HTTP GETting http://10.100.10.231/api/review-requests/1/
>>> Uploading diff, size: 883
>>> HTTP POSTing to http://10.100.10.231/api/review-requests/1/diffs/: {}
>>> Got API Error 105 (HTTP code 400): One or more fields had errors
>>> Error data: {u'fields': {u'path': [u"cvs [checkout aborted]: Absolute module
reference invalid: `/home/cvsroot/path/on/server/blob.cpp'\n"
]}, u'stat': u'fail', u'err': {u'msg': u'One or more fields had errors', u'code'
: 105}}
Error uploading diff
Your review request still exists, but the diff is not attached.
最终结果是在审核板上创建了审核请求,但是请求中没有详细信息/差异信息。
我从评论板管理控制台打开了日志记录,当我发帖时,我得到:
None - user - /api/review-requests/1/diffs/ - Error uploading new diff: cvs [checkout aborted]: Absolute module reference invalid: `/home/cvsroot/path/on/server/blob.cpp'
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/webapi/resources.py", line 2040, in create
request.FILES.get('parent_diff_path'))
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/reviews/forms.py", line 308, in create
history)
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/diffviewer/forms.py", line 88, in create
diff_file, basedir, check_existance=(not parent_diff_file)))
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/diffviewer/forms.py", line 189, in _process_files
self.request))):
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/scmtools/models.py", line 187, in get_file_exists
exists = self._get_file_exists_uncached(path, revision, request)
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/scmtools/models.py", line 290, in _get_file_exists_uncached
exists = self.get_scmtool().file_exists(path, revision)
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/scmtools/core.py", line 81, in file_exists
self.get_file(path, revision)
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/scmtools/cvs.py", line 54, in get_file
return self.client.cat_file(path, revision)
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/scmtools/cvs.py", line 271, in cat_file
return self._cat_specific_file(filename, revision)
File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.11-py2.6.egg/reviewboard/scmtools/cvs.py", line 322, in _cat_specific_file
raise SCMError(errmsg)
SCMError: cvs [checkout aborted]: Absolute module reference invalid: `/home/cvsroot/path/on/server/blob.cpp'
这也引用了Absolute模块引用,除了客户端的Repository文件之外,还有其他我应该看的地方吗?该文件的路径看起来合法。
排除故障的步骤
easy_install -U RBTools
我能错过什么?
答案 0 :(得分:0)
通过他们的google小组与reviewboard的开发者联系。 Christian帮助我获取解决问题的命令,然后我能够在reviewboard管理控制台中更新我的连接字符串。更新后,我能够正确发布。
对于对疑难解答详情感兴趣的任何人,您都可以在以下位置查看Google群组回复:https://groups.google.com/forum/#!topic/reviewboard/Gps1F6HMuO8
克里斯蒂安,你是男人!
以下是我所拥有的:
名称:cvsroot显示此存储库已选中托管服务:(无 - 自定义存储库)存储库类型:CVS路径: :PSERVER:审稿:reviewerpassword@10.100.10.2:2401 /家庭/ CVSROOT / 镜像路径:用户名:密码:
请注意,上面的连接字符串无法正常工作 在/ home / cvsroot之前使用“:”。当我们第一次创建它时,我 相信如果没有港口,我们无法得到它......不用了 要说,上面的路径与我们的连接字符串并不匹配 通过命令提示符使用,所以它没有用。
我将路径更新为以下内容(注意删除了端口,添加了 “:”并删除尾部斜杠)现在可以正常工作:
<强>:PSERVER:评:reviewerpassword@10.100.10.2:/家庭/ CVSROOT 强>
谢谢! 詹姆斯
注意第二个连接字符串中/ home / cvsroot之前的“:”。 根据我的阅读,第二行看起来与cvs想要的相匹配。任何 关于为什么这会通过命令行为我们工作的想法,但不是 从reviewboard管理控制台连接?是用户名和 pserver连接字符串中的密码弄乱了吗?
感谢你的帮助,詹姆斯