2012-06-28 82 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」)並得到錯誤。

下一篇:我分裂承諾,只保留普通文件改變,並提交罰款。