Support review requests without diffs.

Review Request #1751 — Created Aug. 29, 2010 and submitted — Latest diff uploaded

Information

Review Board
master

Reviewers

Support review requests without diffs.

This introduces a fairly big change to the concept of what a review request is.

In the past, a review request was something that housed a diff that could be
reviewed. However, we've started to see some people trying to use it solely
for image review, which has required that people fake a diff in order to
create a blank review request.

Rather than forcing people to do this, this change allows review requests to
be created without a diff. They can still be created on a repository, with
a diff being uploaded later, but they can also select a new special entry
in the repository list, "(None - Graphics only)", which makes it easier to
create a review request that is really intended only for graphics review.
In this case, a repository isn't even associated with the review request,
which means the "Upload Diff" will never even be shown.

The "(None - Graphics Only)" entry won't be the default. We continue to default
to the first actual repository.

This is a first step toward making review requests more extensible. This will
benefit us later on when we have file attachments and extensions where code
review may not be what people are necessarily creating review requests for.
Tested creating review requests with diffs and without diffs (using both real
repositories and the new "(None - Graphics Only)" entry.

Made sure that the Upload Diff entries weren't being shown for review requests
without a repository.

This passed all unit tests.