2012-10-09 15 views
2

我在Ubuntu工作,我想用post-review創建一個手動生成的.diff文件的reviewboard新評論請求,但失敗。reviewboard:post-review錯誤上傳差異與basedir配置錯誤

我在今天的大部分時間都進行了回顧,但發現自己陷在這個postbasedir問題中。我讓三位同事坐在我的座位上解決這個問題,但他們也發現自己用盡了有效的解決方案。

現在的問題是:

我設置repoistory和reviewboard_url在.reviewboardrc文件,我敢肯定,這兩個設置都OK,因爲該請求是在審查委員會和存儲庫點到目錄中成功創建目標文件駐留。

這裏是.reviewboardrc的內容:

============================= .reviewboardrc === ============================

REVIEWBOARD_URL = "http://10.22.200.166:8088" 
REPOSITORY = "http://svn.d.xiaonei.com/wap/renren/renren-wap-talk/trunk" 

=============== ================================================== ===========

我跑審查後如下,但未能上載Doxyfile.diff文件,這裏是它的內容:

============================== Doxyfile.diff ================ ================

Index: Doxyfile 
=================================================================== 
--- Doxyfile (revision 107236) 
+++ Doxyfile (working copy) 
@@ -1,3 +1,5 @@ 
+#POST_REVIEW_TEST 
+POST_REVIEW_TEST = 
# Doxyfile 1.7.6 
# This file describes the settings to be used by the documentation system 
# doxygen (www.doxygen.org) for a project. 

=========================== ==================================================

與調試信息輸出錯誤信息啓用

======================錯誤消息========= ======================================

[email protected]:~/renren-wap-talk$ post-review -dp --diff-filename=Doxyfile.diff 
>>> RBTools 0.4.2 
>>> Python 2.7.2+ (default, Oct 4 2011, 20:06:09) 
[GCC 4.6.1] 
>>> Running on Linux-3.0.0-22-generic-x86_64-with-Ubuntu-11.10-oneiric 
>>> Home = /home/houchenxi 
>>> Current Directory = /home/houchenxi/renren-wap-talk 
>>> Checking the repository type. Errors shown below are mostly harmless. 
DEBUG:root:Checking for a CVS repository... 
DEBUG:root:Checking for a ClearCase repository... 
DEBUG:root:Checking for a Git repository... 
DEBUG:root:Running: git rev-parse --git-dir 
DEBUG:root:Command exited with rc 128: ['git', 'rev-parse', '--git-dir'] 
fatal: Not a git repository (or any parent up to mount parent) 
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 
--- 
DEBUG:root:Checking for a Mercurial repository... 
DEBUG:root:Running: hg showconfig 
DEBUG:root:Running: hg root 
DEBUG:root:Command exited with rc 255: ['hg', 'root'] 
abort: no repository found in '/home/houchenxi/renren-wap-talk' (.hg not found)! 
--- 
DEBUG:root:Checking for a Perforce repository... 
DEBUG:root:Checking for a Plastic repository... 
DEBUG:root:Checking for a Subversion repository... 
DEBUG:root:Running: svn info http://svn.d.xiaonei.com/wap/renren/renren-wap-talk/trunk 
DEBUG:root:Running: diff --version 
DEBUG:root:repository info: Path: http://svn.d.xiaonei.com/wap, Base path: /renren/renren-wap-talk/trunk, Supports changesets: False 
>>> Finished checking the repository type. 
>>> HTTP GETting api/ 
>>> HTTP GETting http://ourhost:8088/api/info/ 
>>> Using the new web API 
>>> HTTP GETting http://ourhost:8088/api/repositories/ 
>>> Attempting to create review request on http://svn.d.xiaonei.com/wap/renren/renren-wap-talk/trunk for None 
>>> HTTP POSTing to http://ourhost:8088/api/review-requests/: {'repository': 'http://svn.d.xiaonei.com/wap/renren/renren-wap-talk/trunk'} 
>>> Review request created 
>>> Uploading diff, size: 335 
>>> HTTP POSTing to http://ourhost:8088/api/review-requests/130/diffs/: {'basedir': '/renren/renren-wap-talk/trunk'} 
>>> Got API Error 207 (HTTP code 400): The file was not found in the repository 
>>> Error data: {u'stat': u'fail', u'file': u'/renren/renren-wap-talk/trunk/Doxyfile', u'err': {u'msg': u'The file was not found in the repository', u'code': 207}, u'revision': u'107236'} 

Error uploading diff 

Your review request still exists, but the diff is not attached. 

===== ============================= ============================================================

在上面的錯誤信息我們發現basedir參數{'basedir':'/ renren/renren-wap-talk/trunk'}不正確,應該是「http」的完整路徑,即「http://svn.d.xiaonei .com/wap/renren/renren-wap-talk/trunk「,但無論我們如何修改.reviewboardrc或添加命令行參數,我們都無法將此值更正爲預期的正確值,我們在幫助中搜索信息通過運行「post-review --help」,但沒有提供「--basedir」選項。

我所要做的就是通過修改.reviewboardrc或更改post-review參數,將baseir值更正爲正確的完整路徑。

有沒有人有解決這個問題的任何類似的經驗,並建議高度讚賞。

回答

0

我相信你的問題可能是SVN庫的路徑之間的相關性:
http://svn.d.xiaonei.com/wap/renren/renren-wap-talk/trunk
並在差異文件(在其所在文件夾層次結構所產生的水平)的相對路徑:
Index: Doxyfile

除非的Doxyfile在樹幹直接位於文件,你應該嘗試在這樣的水平重新創建你的差異,使得差異將包含軀幹和的Doxyfile之間缺少的相對路徑:
Index: /missing/path/to/Doxyfile
..或在Reviewboard中更新您的SVN URL,以便該URL包含缺少的路徑。

你會發現這種相關性的詳細說明,在此answer的職位:review board diff not uploading

HTH!