mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-21 04:50:55 +01:00
Remove commit
from DiffusionRequest
Summary: Ref T2683. This field is //almost// entirely redundant with `symbolicCommit`. Improve how some of the diff query stuff works a bit, then remove it. Test Plan: Browsed around in all interfaces, looked at a bunch of diffs, etc. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T2683 Differential Revision: https://secure.phabricator.com/D9099
This commit is contained in:
parent
347252fda8
commit
23ada21d35
9 changed files with 40 additions and 23 deletions
|
@ -168,7 +168,7 @@ final class ConduitAPI_diffusion_diffquery_Method
|
||||||
$drequest,
|
$drequest,
|
||||||
'diffusion.lastmodifiedquery',
|
'diffusion.lastmodifiedquery',
|
||||||
array(
|
array(
|
||||||
'paths' => array($path => $drequest->getCommit()),
|
'paths' => array($path => $drequest->getStableCommit()),
|
||||||
));
|
));
|
||||||
|
|
||||||
$this->effectiveCommit = idx($result, $path);
|
$this->effectiveCommit = idx($result, $path);
|
||||||
|
@ -199,10 +199,10 @@ final class ConduitAPI_diffusion_diffquery_Method
|
||||||
if (!$effective_commit) {
|
if (!$effective_commit) {
|
||||||
return $this->getEmptyResult(1);
|
return $this->getEmptyResult(1);
|
||||||
}
|
}
|
||||||
// TODO: This side effect is kind of sketchy.
|
|
||||||
$drequest->setCommit($effective_commit);
|
|
||||||
|
|
||||||
$raw_query = DiffusionRawDiffQuery::newFromDiffusionRequest($drequest);
|
$raw_query = DiffusionRawDiffQuery::newFromDiffusionRequest($drequest)
|
||||||
|
->setAnchorCommit($effective_commit);
|
||||||
|
|
||||||
$raw_diff = $raw_query->loadRawDiff();
|
$raw_diff = $raw_query->loadRawDiff();
|
||||||
if (!$raw_diff) {
|
if (!$raw_diff) {
|
||||||
return $this->getEmptyResult(2);
|
return $this->getEmptyResult(2);
|
||||||
|
|
|
@ -18,7 +18,9 @@ final class DiffusionChangeController extends DiffusionController {
|
||||||
'commit' => $drequest->getCommit(),
|
'commit' => $drequest->getCommit(),
|
||||||
'path' => $drequest->getPath(),
|
'path' => $drequest->getPath(),
|
||||||
));
|
));
|
||||||
$drequest->setCommit($data['effectiveCommit']);
|
|
||||||
|
$drequest->updateSymbolicCommit($data['effectiveCommit']);
|
||||||
|
|
||||||
$raw_changes = ArcanistDiffChange::newFromConduit($data['changes']);
|
$raw_changes = ArcanistDiffChange::newFromConduit($data['changes']);
|
||||||
$diff = DifferentialDiff::newFromRawChanges($raw_changes);
|
$diff = DifferentialDiff::newFromRawChanges($raw_changes);
|
||||||
$changesets = $diff->getChangesets();
|
$changesets = $diff->getChangesets();
|
||||||
|
@ -31,7 +33,6 @@ final class DiffusionChangeController extends DiffusionController {
|
||||||
|
|
||||||
$repository = $drequest->getRepository();
|
$repository = $drequest->getRepository();
|
||||||
$callsign = $repository->getCallsign();
|
$callsign = $repository->getCallsign();
|
||||||
$commit = $drequest->getSymbolicCommit();
|
|
||||||
$changesets = array(
|
$changesets = array(
|
||||||
0 => $changeset,
|
0 => $changeset,
|
||||||
);
|
);
|
||||||
|
|
|
@ -51,7 +51,7 @@ final class DiffusionDiffController extends DiffusionController {
|
||||||
array(
|
array(
|
||||||
'commit' => $drequest->getCommit(),
|
'commit' => $drequest->getCommit(),
|
||||||
'path' => $drequest->getPath()));
|
'path' => $drequest->getPath()));
|
||||||
$drequest->setCommit($data['effectiveCommit']);
|
$drequest->updateSymbolicCommit($data['effectiveCommit']);
|
||||||
$raw_changes = ArcanistDiffChange::newFromConduit($data['changes']);
|
$raw_changes = ArcanistDiffChange::newFromConduit($data['changes']);
|
||||||
$diff = DifferentialDiff::newFromRawChanges($raw_changes);
|
$diff = DifferentialDiff::newFromRawChanges($raw_changes);
|
||||||
$changesets = $diff->getChangesets();
|
$changesets = $diff->getChangesets();
|
||||||
|
|
|
@ -152,7 +152,7 @@ final class DiffusionHistoryController extends DiffusionController {
|
||||||
->setUser($viewer)
|
->setUser($viewer)
|
||||||
->setActionList($actions);
|
->setActionList($actions);
|
||||||
|
|
||||||
$stable_commit = $drequest->getStableCommitName();
|
$stable_commit = $drequest->getStableCommit();
|
||||||
$callsign = $drequest->getRepository()->getCallsign();
|
$callsign = $drequest->getRepository()->getCallsign();
|
||||||
|
|
||||||
$view->addProperty(
|
$view->addProperty(
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class DiffusionGitRawDiffQuery extends DiffusionRawDiffQuery {
|
||||||
$drequest = $this->getRequest();
|
$drequest = $this->getRequest();
|
||||||
$repository = $drequest->getRepository();
|
$repository = $drequest->getRepository();
|
||||||
|
|
||||||
$commit = $drequest->getCommit();
|
$commit = $this->getAnchorCommit();
|
||||||
|
|
||||||
$options = array(
|
$options = array(
|
||||||
'-M',
|
'-M',
|
||||||
|
|
|
@ -10,7 +10,7 @@ final class DiffusionMercurialRawDiffQuery extends DiffusionRawDiffQuery {
|
||||||
$drequest = $this->getRequest();
|
$drequest = $this->getRequest();
|
||||||
$repository = $drequest->getRepository();
|
$repository = $drequest->getRepository();
|
||||||
|
|
||||||
$commit = $drequest->getCommit();
|
$commit = $this->getAnchorCommit();
|
||||||
|
|
||||||
// If there's no path, get the entire raw diff.
|
// If there's no path, get the entire raw diff.
|
||||||
$path = nonempty($drequest->getPath(), '.');
|
$path = nonempty($drequest->getPath(), '.');
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
abstract class DiffusionRawDiffQuery extends DiffusionQuery {
|
abstract class DiffusionRawDiffQuery extends DiffusionQuery {
|
||||||
|
|
||||||
private $request;
|
|
||||||
private $timeout;
|
private $timeout;
|
||||||
private $linesOfContext = 65535;
|
private $linesOfContext = 65535;
|
||||||
|
private $anchorCommit;
|
||||||
private $againstCommit;
|
private $againstCommit;
|
||||||
private $byteLimit;
|
private $byteLimit;
|
||||||
|
|
||||||
|
@ -53,6 +53,19 @@ abstract class DiffusionRawDiffQuery extends DiffusionQuery {
|
||||||
return $this->againstCommit;
|
return $this->againstCommit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setAnchorCommit($anchor_commit) {
|
||||||
|
$this->anchorCommit = $anchor_commit;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAnchorCommit() {
|
||||||
|
if ($this->anchorCommit) {
|
||||||
|
return $this->anchorCommit;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->getRequest()->getStableCommit();
|
||||||
|
}
|
||||||
|
|
||||||
protected function configureFuture(ExecFuture $future) {
|
protected function configureFuture(ExecFuture $future) {
|
||||||
if ($this->getTimeout()) {
|
if ($this->getTimeout()) {
|
||||||
$future->setTimeout($this->getTimeout());
|
$future->setTimeout($this->getTimeout());
|
||||||
|
|
|
@ -6,7 +6,7 @@ final class DiffusionSvnRawDiffQuery extends DiffusionRawDiffQuery {
|
||||||
$drequest = $this->getRequest();
|
$drequest = $this->getRequest();
|
||||||
$repository = $drequest->getRepository();
|
$repository = $drequest->getRepository();
|
||||||
|
|
||||||
$commit = $drequest->getCommit();
|
$commit = $this->getAnchorCommit();
|
||||||
$arc_root = phutil_get_library_root('arcanist');
|
$arc_root = phutil_get_library_root('arcanist');
|
||||||
|
|
||||||
$against = $this->getAgainstCommit();
|
$against = $this->getAgainstCommit();
|
||||||
|
|
|
@ -12,7 +12,6 @@ abstract class DiffusionRequest {
|
||||||
protected $callsign;
|
protected $callsign;
|
||||||
protected $path;
|
protected $path;
|
||||||
protected $line;
|
protected $line;
|
||||||
protected $commit;
|
|
||||||
protected $branch;
|
protected $branch;
|
||||||
protected $lint;
|
protected $lint;
|
||||||
|
|
||||||
|
@ -241,11 +240,6 @@ abstract class DiffusionRequest {
|
||||||
|
|
||||||
// TODO: Probably remove all of this.
|
// TODO: Probably remove all of this.
|
||||||
|
|
||||||
// Required for sketchy sins that `diffusion.diffquery` commits.
|
|
||||||
if ($this->commit) {
|
|
||||||
return $this->commit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->getSymbolicCommit() !== null) {
|
if ($this->getSymbolicCommit() !== null) {
|
||||||
return $this->getSymbolicCommit();
|
return $this->getSymbolicCommit();
|
||||||
}
|
}
|
||||||
|
@ -272,6 +266,20 @@ abstract class DiffusionRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modify the request to move the symbolic commit elsewhere.
|
||||||
|
*
|
||||||
|
* @param string New symbolic commit.
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public function updateSymbolicCommit($symbol) {
|
||||||
|
$this->symbolicCommit = $symbol;
|
||||||
|
$this->symbolicType = null;
|
||||||
|
$this->stableCommit = null;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the ref type (`commit` or `tag`) of the location associated with this
|
* Get the ref type (`commit` or `tag`) of the location associated with this
|
||||||
* request.
|
* request.
|
||||||
|
@ -380,11 +388,6 @@ abstract class DiffusionRequest {
|
||||||
return $this->repositoryCommitData;
|
return $this->repositoryCommitData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setCommit($commit) {
|
|
||||||
$this->commit = $commit;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -( Managing Diffusion URIs )-------------------------------------------- */
|
/* -( Managing Diffusion URIs )-------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue