2012-06-28 25 views
1

所以这里是迄今为止的故事,我已经安装了审查委员会关于linux环境下,我已经配置好了一切,安装后检查和它的作品...水银ReviewBoard和后审查

什么行不通的存储库。我们的存储库在某些时候从SVN迁移到了mercurial,然后有很多粗略的文件管理就像移动文件一样没有hg move。所以我想要的是运行一个脚本,收集并发布包含两个以上父母(每个cset被合并为默认分支)的每个cset的评论,并将其与之前的默认分支版本进行比较,以查看我的同事发生的灾难性更改对代码做出的决定。有点像历史书,当然也会安排一份工作来存储未来可能出现的新评论请求。

无论如何事后审查95%的时间是抛出我错误207,该文件或该文件未找到(由于上述hg missusage)。不用说这是一个大回购 - 考虑到它与其他8个版本库每日同步。

也许有一些解决方法可以跳过丢失的文件差异,只是与什么后检讨得到迄今还是smt?

我一直在读整天没事......种种问题的门票又那么远:(

请帮助...

PS

>>> 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 
+0

你使用--revision-range?这对我来说很好。 – Ringding

+0

是的,我使用的是--revision-range,这个差异是由post-review工具产生的,更确切地说是“hg diff -r 26652 -r 26651”生成差异,但是当它们通过web_api文件上传到评论板时未发现异常occures。我发现了一些可行的范围,但大部分只是在其他范围上刹车。 – Xeperis

+0

但是您意识到上游/“官方”回购中必须存在传递至--revision-range的起始修订版本? – Ringding

回答

1

我有同样的问题,看起来 - 在我们的例子中 - 这是因为已经将服务器端回购更新为特定版本。

将服务器端回购重置为“裸”存储库解决这个问题对我们来说。

(我做了一个“克隆汞回购-U newrepo”,“MV回购回购老”,“MV newrepo回购”。)

+0

什么hg版本导致你的问题? –

+0

1.8或1.9,我相信。 –

0

我想点文件是错误207在帖子的原因ReviewBoard。

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

下一篇:我分裂承诺,只保留普通文件改变,并提交罚款。