Mercurial ReviewBoard和事后审查 [英] Mercurial ReviewBoard and post-review

查看:129
本文介绍了Mercurial ReviewBoard和事后审查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是到目前为止的故事,我已经在linux环境中安装了评估板,已经配置了所有内容,安装了后评估,并且可以正常工作...

so here is the story so far, I have installed review board on linux environment, I have configured everything, installed post-review and it works...

不起作用的是存储库.我们的存储库在某个时候从SVN迁移到了mercurial,然后进行了许多粗略的文件管理,例如在不进行HG移动的情况下移动文件.所以我想要的是运行一个脚本,该脚本将为每个包含两个以上父代的cset(每个cset合并到默认分支)收集和发布评论,并将其与以前的默认分支修订进行比较,以查看我的同事的灾难性变化对代码进行.有点像一本历史书,当然要安排一份工作来存储将来要提出的新审核请求.

What does not work is the repository. Our repository was migrated at some point from SVN to mercurial, then there were lot of crude file management made like moving files around without hg move. So what I wanted was to run a script that would gather and post reviews for every cset containing more than two parents (every cset that was merged to default branch) and diff it with previous default branch revision to see what catastrophic changes my fellow collegues have made to the code. Sort of like a history book and of course schedule a job to store new review requests that would be made in the future.

无论如何,在95%的时间内进行后检查都会向我抛出错误207,表明找不到该文件或该文件(由于上述hg误用).不用说这是一个很大的仓库-考虑到它每天与其他8个仓库同步.

Anyway post-review 95% of a time is throwing me error 207 that this or that file was not found (due to hg missusage mentioned above). Needless to say it is one big repo - considering it is daily synced with 8 other repositories.

也许有一些解决方法可以跳过丢失的文件差异文件,而仅进行到目前为止的审查或smt审查?

Maybe there is some workaround to skip missing file diff's and just go with what post-review got so far or smt ?

我整天都在阅读各种发行票...到目前为止,还没有什么:(

I have been reading all sorts of issue tickets all day long... nothing yet so far :(

请帮助...

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

推荐答案

我遇到了同样的问题,在我们的情况下,这似乎是由于已将服务器端存储库更新为特定版本而引起的.

I've had the same problem, and it seems - in our case - it was due to have updated the server-side repo to a specific version.

将服务器端存储库重置为裸机"存储库为我们解决了此问题.

Resetting the server-side repo to a 'bare' repository solved this problem for us.

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

(I did a 'hg clone -U repo newrepo', 'mv repo repo-old', 'mv newrepo repo'.)

这篇关于Mercurial ReviewBoard和事后审查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆