Mercurial ReviewBoard和post-review

时间:2012-06-28 16:21:12

标签: python mercurial review-board

所以这是故事到目前为止,我已经在linux环境中安装了审查板,我已经配置了所有内容,安装了后审查并且它有效......

什么不起作用是存储库。我们的存储库在某些时候从SVN移植到mercurial,然后有很多粗文件管理就像移动文件一样没有hg移动。所以我想要的是运行一个脚本来收集和发布包含两个以上父项的每个cset的评论(每个cset被合并到默认分支)并使用以前的默认分支修订来区分它以查看我的同事们有什么灾难性的变化对代码做了。有点像历史书,当然还安排一份工作来存储将来会有的新评论请求。

无论如何回顾95%的时间都会让我误以为207找不到这个或那个文件(由于上面提到的hg missusage)。不用说它是一个大回购 - 考虑到它每天与其他8个存储库同步。

也许有一些解决方法可以跳过丢失的文件差异,并且只是选择到目前为止的评论或smt?

我整天都在阅读各种问题的门票......到目前为止还没有:(

请帮忙......

P.S。

>>> Attempting to create review request on https: //internal.rix.com/hg/project/ for None
>>> HTTP POSTing to http: //localhost/api/review-requests/ {'repository': 'https: //internal.rix.com/hg/project/'}
>>> Review request created
>>> Uploading diff, size: 29809661
>>> HTTP POSTing to http: //localhost/api/review-requests/108/diffs/ {}
>>> Got API Error 207 (HTTP code 400): The file was not found in the repository
>>> Error data: {u'stat': u'fail', u'file': u'.hgignore', u'err': {u'msg': u'The file was not found in the repository', u'code': 207}, u'revision': u'd31d6b626628'}

".hgignore" file not found. The 26652 cset has 2 parents, it was a result of a very big merge into default branch. Actual hg diff -r 26652 -r 26651; produces: 

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -1,39 +1,44 @@
-syntax: re
-/target$
-/lib$
-/bin$
-.settings
-.classpath
-.metadata
-.project
-.iml
... and so on for 400k lines

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,似乎 - 在我们的例子中 - 它是由于将服务器端repo更新为特定版本。

将服务器端repo重置为'bare'存储库为我们解决了这个问题。

(我做了'hg clone -U repo newrepo','mv repo repo-old','mv newrepo repo'。)

答案 1 :(得分:0)

我认为点文件是发布到ReviewBoard的错误207的原因。

在我的情况下,在其中一个提交中更改“.hgignore”文件时会发生错误。例如,存储库有一个本地(状态'草稿')提交,'。hgignore'和'another.cpp'文件已更改。我运行“hg postreview”(或“hg postreview --id 1234”之后)并得到错误。

下一步:我拆分提交,只保留常规文件更改,并且提交已正确发布。