2

私はUbuntuで作業しており、post-reviewを使用して、手動で生成された.diffファイルを使用してreviewboardの新しいレビューリクエストを作成したいのですが、失敗しました。

私は今日のほとんどの時間、ポストレビューに取り組みましたが、このポストベースの問題に悩まされています。私は3人の同僚にこの問題を解決するために私の席に座るように頼みましたが、彼らも効果的な解決策が不足していることに気づきました。

ここに問題があります:

.reviewboardrcファイルにrepoistoryとreviewboard_urlを設定しました。リクエストがレビューボードで正常に作成され、リポジトリがターゲットファイルが存在するディレクトリを指しているため、2つの設定は問題ありません。

.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.

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

デバッグ情報が有効になっている場合の出力エラーメッセージ

====================== err msg ========================== =====================

houchenxi@houchenxi-PC:~/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.

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

上記のerrmsgで、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を変更するか、レビュー後の引数を変更することによって、basedir値を正しいフルパスに修正することだけです。

誰かがこの問題を解決するための同様の経験を持っていますか、そして提案は非常に高く評価されています。

4

1 に答える 1

0

あなたの問題は、SVN リポジトリの
http://svn.d.xiaonei.com/wap/renren/renren-wap-talk/trunk
パスと diff ファイルの相対パス (フォルダーの階層で生成されたレベル) との相関関係にある可能性があると思います。
Index: Doxyfile

ファイル Doxyfile がトランクに直接配置されていない限り、そのようなレベルで差分を再作成して、トランクと Doxyfile の間の欠落した相対パスが差分に含まれるようにする必要があります
Index: /missing/path/to/Doxyfile
。..または Reviewboard で SVN URL を更新します。 URL 自体に欠落したパスが含まれるようにします。

この相関関係の詳細な説明は、投稿に対するこの回答にあります: review board diff not uploading

チッ!

于 2012-11-04T15:12:51.617 に答える