Summary: Fixes T10423. Ref T11524. This changes `diffusion.rawdiffquery` to return a file PHID instead of a blob of data. This is better in general, but particularly better for huge diffs (as in T10423) and diffs with non-utf8 data (as in T10423). Test Plan: - Used `bin/differential extract` to extract a latin1 diff, got a clean diff. - Used `bin/repository reparse --herald` to rerun herald on a latin1 diff, got a clean result. - Pushed latin1 diffs to test commit hooks. - Triggered the the too large / too slow logic. - Viewed latin1 diffs in Diffusion. - Used "blame past this change" in Diffusion to hit the `before` logic. Reviewers: chad Reviewed By: chad Subscribers: eadler Maniphest Tasks: T10423, T11524 Differential Revision: https://secure.phabricator.com/D16460
19 lines
394 B
PHP
19 lines
394 B
PHP
<?php
|
|
|
|
final class DiffusionGitFileContentQuery extends DiffusionFileContentQuery {
|
|
|
|
protected function newQueryFuture() {
|
|
$drequest = $this->getRequest();
|
|
|
|
$repository = $drequest->getRepository();
|
|
$path = $drequest->getPath();
|
|
$commit = $drequest->getCommit();
|
|
|
|
return $repository->getLocalCommandFuture(
|
|
'cat-file blob %s:%s',
|
|
$commit,
|
|
$path);
|
|
}
|
|
|
|
}
|