2

我目前正在尝试使用审查委员会进行差异,但不断收到一条模棱两可的错误消息:

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

调试消息也没有给出太多,没有任何错误......

>>> RBTools 0.4.1
>>> Home = /home/tom
>>> HTTP GETting api/
>>> HTTP GETting http://127.0.0.1/api/info/
>>> Using the new web API
Index: /trunk/0.1/scripts/configure-apache.sh
===================================================================
--- /trunk/0.1/scripts/configure-apache.sh  (revision 143)
+++ /trunk/0.1/scripts/configure-apache.sh  (working copy)
@@ -1,5 +1,5 @@
#! /bin/bash
-
+echo hello
cd ..
#SRCHEAD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
SRCHEAD=$SRC_HEAD

这是我的“.reviewboardrc”文件包含的内容:

REVIEWBOARD_URL = "http://127.0.0.1/"

存储库路径是:“https://XXX/svn/infinity/trunk/0.1”

有谁知道我可以从哪里开始解决我看到的这个问题?

提前致谢

4

2 回答 2

5

您面临的问题可能是diff 文件中的相对路径与在 Reviewboard 中配置的存储库路径不相关。

Reviewboard,为了在存储库中找到差异中提到的文件,将像这样连接 URL:

  • 在 Reviewboard
    +中配置的 repo 的 URL
  • 可选- 显示在 Reviewboard Upload diff 对话框中的 Base 目录- 可以是绝对的/完整的,也可以是相对的(!)
    +
  • 修改文件的相对路径,因为它出现在 diff 文件中。

所有这些都必须相互关联。

因此,在您的情况下,如果您的存储库配置的 URL 是:
https://XXX/svn/infinity/trunk/0.1
并且您在 diff 文件中的相对路径是:
/trunk/0.1/scripts/configure-apache.sh
...这将不起作用,因为在 repo 中生成的文件的绝对路径将不正确:
https://XXX/svn/infinity/trunk/0.1/trunk/0.1/scripts/configure-apache.sh

可能的解决方案是:
您的 SVN URL 应该在 Reviewboard 中像这样配置:
https://XXX/svn/infinity
或者
diff 应该在文件夹层次结构的较低级别创建 - 在这种情况下,它应该在../0.1/级别完成,以便 diff 文件中的路径导致/scripts/configure-apache.sh

于 2012-11-03T23:16:58.963 回答
0

一种解决方法是执行手动 svn diff 并保存到文件中,然后将工作副本与 web ui 中的主干进行比较

于 2012-07-05T16:08:30.273 回答