當我做一個post-review
我得到reviewboard
創造了新的評論,但我不從我CVS
項目,它得到了diff
。
A post-review
到一個新的請求顯示使用調試選項命令行的差異。在它顯示diff之後,post-review腳本嘗試上傳diff到服務器(它甚至顯示diff有大小),在它嘗試上傳之後顯示diff文件爲空的消息。
在服務器端,日誌抱怨被擴散的CVS文件的絕對路徑。
做其他閱讀,絕對路徑問題可以通過刪除cvs根路徑並使用相對路徑而不是絕對路徑來解決。在我的項目的CVS目錄中,Repository
文件顯示爲相對路徑。我相信需要更新的值駐留在評論板服務器上。從我讀過的內容來看,這聽起來像是一個配置問題,但我不確定我需要更新什麼,所有想法/建議都很感謝。
設置詳細信息:
Reviewboard服務器:
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
,它會通過差異的過程,但似乎有一個問題上傳diff到服務器。以下包含錯誤消息:
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.
最終的結果是一個審查請求是在reviewboard創建的,但是不存在與請求沒有細節/ DIFF信息。
我轉身從reviewboard管理控制檯登錄,當我做了後,我得到:
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'
這還引用了絕對模塊參考,除了客戶端的庫文件,有沒有別的地方我應該在看?該文件的路徑看起來合法。
故障排除步驟我已經試過:服務器
- 我保證reviewboard運行最新版本。
- 我確保客戶的郵政編碼是最新的。例如
easy_install -U RBTools
- 使用搜索關於「絕對模塊引用無效」的錯誤,找到http://devnet.jetbrains.com/thread/158342的引用並驗證我的客戶端上的存儲庫文件僅顯示相對路徑。
任何關於我可能會失蹤的建議/想法都會受到讚賞。