Move "Rendering References" to the DifferentialChangesetParser level

Summary:
Separates changeset IDs from rendering. Now each changeset has a "rendering
reference" which is basically a description of what the ajax endpoint should
render. For Differential, it's in the form "id/vs". For Diffusion,
"branch/path;commit".

I believe this fixes pretty much all of the bugs related to "show more" breaking
in various obscure ways, although I never got a great repro for T153.

Test Plan:
Clicked "show more" in diffusion change and commit views and differential diff,
diff-of-diff, standalone-diff, standalone-diff-of-diff views. Verified refs and
'whitespace' were always sent correctly.

Made inline comments on diffs and diffs-of-diffs. Used "Reply".

Reviewed By: tuomaspelkonen
Reviewers: tuomaspelkonen, jungejason, aran
CC: aran, tuomaspelkonen, epriestley
Differential Revision: 274
This commit is contained in:
epriestley
2011-05-11 21:46:29 -07:00
parent 63f6d807c5
commit 54154e4f48
15 changed files with 67 additions and 63 deletions

View File

@@ -59,13 +59,11 @@ final class DiffusionGitDiffQuery extends DiffusionDiffQuery {
$changesets = $diff->getChangesets();
$changeset = reset($changesets);
$id =
$this->renderingReference =
$drequest->getBranchURIComponent($drequest->getBranch()).
$drequest->getPath().';'.
$drequest->getCommit();
$changeset->setID($id);
return $changeset;
}