Mercurial Review Настольная и пост-рецензия
Итак, вот история, я установил обзорную доску в среде linux, все настроил, установил пост-просмотр и все работает...
Что не работает, так это хранилище. Наш репозиторий был перенесен в какой-то момент из SVN в Mercurial, тогда было много грубого управления файлами, сделанного как перемещение файлов без перемещения hg. Поэтому я хотел запустить скрипт, который бы собирал и публиковал обзоры для каждого cset, содержащего более двух родителей (каждый cset, который был объединен с веткой по умолчанию), и сравнивал его с предыдущей версией ветки по умолчанию, чтобы увидеть, какие катастрофические изменения произошли у моих коллег-коллег. сделал код. Вроде как книга по истории и, конечно, наметить работу для хранения новых запросов на рецензирование, которые будут сделаны в будущем.
В любом случае, после проверки 95% времени выдает мне ошибку 207, что тот или иной файл не был найден (из-за ошибки hg, упомянутой выше). Излишне говорить, что это одно большое хранилище - учитывая, что оно ежедневно синхронизируется с 8 другими хранилищами.
Может быть, есть какой-то обходной путь, чтобы пропустить пропущенные файлы различий и просто пойти с тем, что пост-обзор получил так далеко или smt?
Я весь день читаю всевозможные эмиссионные билеты... пока ничего нет:(
Пожалуйста помоги...
п.с.
>>> 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 ответа
У меня была такая же проблема, и, похоже, - в нашем случае - это было связано с обновлением репо на стороне сервера до определенной версии.
Сброс репо на стороне сервера в "пустой" репозиторий решил эту проблему для нас.
(Я сделал 'hg clone -U repo newrepo', 'mv repo-old', 'mv newrepo repo'.)
Я думаю, что дот-файл является причиной ошибки 207 в посте на ReviewBoard.
В моем случае ошибка происходит, когда файл.hgignore изменяется в одном из коммитов. Например, хранилище с одним локальным (состояние 'draft') коммитом с файлами '.hgignore' и 'another.cpp' изменилось. Я запускаю "hg postreview" (или "hg postreview --id 1234" позже) и получаю ошибку.
Далее: я делю коммит и оставляю только обычный файл с изменениями, и этот коммит публикуется нормально.