What version are you running?
1.6.9 stable, RB-Tools 4.1 (also tried 4.1-dev) (Python 2.7)
What's the URL of the page containing the problem?
This is a locally hosted review board for internal use.
What steps will reproduce the problem?
1. hg clone <our_repo>
2. hg update default
3. post-review --revision-range 26652:26651 -d
What is the expected output? What do you see instead?
Expected result: a review request is posted successefully
Actual result:
>>> 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'}
Error uploading diff
Your review request still exists, but the diff is not attached.
What operating system are you using? What browser?
Ubuntu 12.04 LTS
Please provide any additional information below.
".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 won't post since it's confidential
This is not the only revision or revision range that has this problem, in fact the only revision range in this project I have found that worked was 10:12 at the beginning of it.
I understand this might be due to unconventional usage of mercurial since files do cut and pasted rather then hg moved, but if hg diff can produce some information why not allow it to be posted for review anyway ?