mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-11 07:11:04 +01:00
Read rename information from DB instead of repository
Summary: We already have this information for all VCSes, there's no point in parsing it again. We currently support it only for Git and I remember there were some bugs in it. It should also be faster. Test Plan: Blamed previous revision of a file which was moved in SVN. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D3564
This commit is contained in:
parent
713225e296
commit
b43f84d6dc
7 changed files with 116 additions and 204 deletions
|
@ -349,7 +349,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionGitLastModifiedQuery' => 'applications/diffusion/query/lastmodified/DiffusionGitLastModifiedQuery.php',
|
'DiffusionGitLastModifiedQuery' => 'applications/diffusion/query/lastmodified/DiffusionGitLastModifiedQuery.php',
|
||||||
'DiffusionGitMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionGitMergedCommitsQuery.php',
|
'DiffusionGitMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionGitMergedCommitsQuery.php',
|
||||||
'DiffusionGitRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionGitRawDiffQuery.php',
|
'DiffusionGitRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionGitRawDiffQuery.php',
|
||||||
'DiffusionGitRenameHistoryQuery' => 'applications/diffusion/query/renamehistory/DiffusionGitRenameHistoryQuery.php',
|
|
||||||
'DiffusionGitRequest' => 'applications/diffusion/request/DiffusionGitRequest.php',
|
'DiffusionGitRequest' => 'applications/diffusion/request/DiffusionGitRequest.php',
|
||||||
'DiffusionGitTagListQuery' => 'applications/diffusion/query/taglist/DiffusionGitTagListQuery.php',
|
'DiffusionGitTagListQuery' => 'applications/diffusion/query/taglist/DiffusionGitTagListQuery.php',
|
||||||
'DiffusionHistoryController' => 'applications/diffusion/controller/DiffusionHistoryController.php',
|
'DiffusionHistoryController' => 'applications/diffusion/controller/DiffusionHistoryController.php',
|
||||||
|
@ -372,7 +371,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionMercurialLastModifiedQuery' => 'applications/diffusion/query/lastmodified/DiffusionMercurialLastModifiedQuery.php',
|
'DiffusionMercurialLastModifiedQuery' => 'applications/diffusion/query/lastmodified/DiffusionMercurialLastModifiedQuery.php',
|
||||||
'DiffusionMercurialMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionMercurialMergedCommitsQuery.php',
|
'DiffusionMercurialMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionMercurialMergedCommitsQuery.php',
|
||||||
'DiffusionMercurialRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionMercurialRawDiffQuery.php',
|
'DiffusionMercurialRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionMercurialRawDiffQuery.php',
|
||||||
'DiffusionMercurialRenameHistoryQuery' => 'applications/diffusion/query/renamehistory/DiffusionMercurialRenameHistoryQuery.php',
|
|
||||||
'DiffusionMercurialRequest' => 'applications/diffusion/request/DiffusionMercurialRequest.php',
|
'DiffusionMercurialRequest' => 'applications/diffusion/request/DiffusionMercurialRequest.php',
|
||||||
'DiffusionMercurialTagListQuery' => 'applications/diffusion/query/taglist/DiffusionMercurialTagListQuery.php',
|
'DiffusionMercurialTagListQuery' => 'applications/diffusion/query/taglist/DiffusionMercurialTagListQuery.php',
|
||||||
'DiffusionMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionMergedCommitsQuery.php',
|
'DiffusionMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionMergedCommitsQuery.php',
|
||||||
|
@ -385,7 +383,7 @@ phutil_register_library_map(array(
|
||||||
'DiffusionPathValidateController' => 'applications/diffusion/controller/DiffusionPathValidateController.php',
|
'DiffusionPathValidateController' => 'applications/diffusion/controller/DiffusionPathValidateController.php',
|
||||||
'DiffusionQuery' => 'applications/diffusion/query/DiffusionQuery.php',
|
'DiffusionQuery' => 'applications/diffusion/query/DiffusionQuery.php',
|
||||||
'DiffusionRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionRawDiffQuery.php',
|
'DiffusionRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionRawDiffQuery.php',
|
||||||
'DiffusionRenameHistoryQuery' => 'applications/diffusion/query/renamehistory/DiffusionRenameHistoryQuery.php',
|
'DiffusionRenameHistoryQuery' => 'applications/diffusion/query/DiffusionRenameHistoryQuery.php',
|
||||||
'DiffusionRepositoryController' => 'applications/diffusion/controller/DiffusionRepositoryController.php',
|
'DiffusionRepositoryController' => 'applications/diffusion/controller/DiffusionRepositoryController.php',
|
||||||
'DiffusionRepositoryPath' => 'applications/diffusion/data/DiffusionRepositoryPath.php',
|
'DiffusionRepositoryPath' => 'applications/diffusion/data/DiffusionRepositoryPath.php',
|
||||||
'DiffusionRepositoryTag' => 'applications/diffusion/DiffusionRepositoryTag.php',
|
'DiffusionRepositoryTag' => 'applications/diffusion/DiffusionRepositoryTag.php',
|
||||||
|
@ -402,7 +400,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionSvnLastModifiedQuery' => 'applications/diffusion/query/lastmodified/DiffusionSvnLastModifiedQuery.php',
|
'DiffusionSvnLastModifiedQuery' => 'applications/diffusion/query/lastmodified/DiffusionSvnLastModifiedQuery.php',
|
||||||
'DiffusionSvnMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionSvnMergedCommitsQuery.php',
|
'DiffusionSvnMergedCommitsQuery' => 'applications/diffusion/query/mergedcommits/DiffusionSvnMergedCommitsQuery.php',
|
||||||
'DiffusionSvnRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionSvnRawDiffQuery.php',
|
'DiffusionSvnRawDiffQuery' => 'applications/diffusion/query/rawdiff/DiffusionSvnRawDiffQuery.php',
|
||||||
'DiffusionSvnRenameHistoryQuery' => 'applications/diffusion/query/renamehistory/DiffusionSvnRenameHistoryQuery.php',
|
|
||||||
'DiffusionSvnRequest' => 'applications/diffusion/request/DiffusionSvnRequest.php',
|
'DiffusionSvnRequest' => 'applications/diffusion/request/DiffusionSvnRequest.php',
|
||||||
'DiffusionSvnTagListQuery' => 'applications/diffusion/query/taglist/DiffusionSvnTagListQuery.php',
|
'DiffusionSvnTagListQuery' => 'applications/diffusion/query/taglist/DiffusionSvnTagListQuery.php',
|
||||||
'DiffusionSymbolController' => 'applications/diffusion/controller/DiffusionSymbolController.php',
|
'DiffusionSymbolController' => 'applications/diffusion/controller/DiffusionSymbolController.php',
|
||||||
|
@ -1546,7 +1543,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionGitLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
'DiffusionGitLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
||||||
'DiffusionGitMergedCommitsQuery' => 'DiffusionMergedCommitsQuery',
|
'DiffusionGitMergedCommitsQuery' => 'DiffusionMergedCommitsQuery',
|
||||||
'DiffusionGitRawDiffQuery' => 'DiffusionRawDiffQuery',
|
'DiffusionGitRawDiffQuery' => 'DiffusionRawDiffQuery',
|
||||||
'DiffusionGitRenameHistoryQuery' => 'DiffusionRenameHistoryQuery',
|
|
||||||
'DiffusionGitRequest' => 'DiffusionRequest',
|
'DiffusionGitRequest' => 'DiffusionRequest',
|
||||||
'DiffusionGitTagListQuery' => 'DiffusionTagListQuery',
|
'DiffusionGitTagListQuery' => 'DiffusionTagListQuery',
|
||||||
'DiffusionHistoryController' => 'DiffusionController',
|
'DiffusionHistoryController' => 'DiffusionController',
|
||||||
|
@ -1569,7 +1565,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionMercurialLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
'DiffusionMercurialLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
||||||
'DiffusionMercurialMergedCommitsQuery' => 'DiffusionMergedCommitsQuery',
|
'DiffusionMercurialMergedCommitsQuery' => 'DiffusionMergedCommitsQuery',
|
||||||
'DiffusionMercurialRawDiffQuery' => 'DiffusionRawDiffQuery',
|
'DiffusionMercurialRawDiffQuery' => 'DiffusionRawDiffQuery',
|
||||||
'DiffusionMercurialRenameHistoryQuery' => 'DiffusionRenameHistoryQuery',
|
|
||||||
'DiffusionMercurialRequest' => 'DiffusionRequest',
|
'DiffusionMercurialRequest' => 'DiffusionRequest',
|
||||||
'DiffusionMercurialTagListQuery' => 'DiffusionTagListQuery',
|
'DiffusionMercurialTagListQuery' => 'DiffusionTagListQuery',
|
||||||
'DiffusionMergedCommitsQuery' => 'DiffusionQuery',
|
'DiffusionMergedCommitsQuery' => 'DiffusionQuery',
|
||||||
|
@ -1577,7 +1572,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionPathQueryTestCase' => 'PhabricatorTestCase',
|
'DiffusionPathQueryTestCase' => 'PhabricatorTestCase',
|
||||||
'DiffusionPathValidateController' => 'DiffusionController',
|
'DiffusionPathValidateController' => 'DiffusionController',
|
||||||
'DiffusionRawDiffQuery' => 'DiffusionQuery',
|
'DiffusionRawDiffQuery' => 'DiffusionQuery',
|
||||||
'DiffusionRenameHistoryQuery' => 'DiffusionQuery',
|
|
||||||
'DiffusionRepositoryController' => 'DiffusionController',
|
'DiffusionRepositoryController' => 'DiffusionController',
|
||||||
'DiffusionSetupException' => 'AphrontUsageException',
|
'DiffusionSetupException' => 'AphrontUsageException',
|
||||||
'DiffusionSvnBrowseQuery' => 'DiffusionBrowseQuery',
|
'DiffusionSvnBrowseQuery' => 'DiffusionBrowseQuery',
|
||||||
|
@ -1591,7 +1585,6 @@ phutil_register_library_map(array(
|
||||||
'DiffusionSvnLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
'DiffusionSvnLastModifiedQuery' => 'DiffusionLastModifiedQuery',
|
||||||
'DiffusionSvnMergedCommitsQuery' => 'DiffusionMergedCommitsQuery',
|
'DiffusionSvnMergedCommitsQuery' => 'DiffusionMergedCommitsQuery',
|
||||||
'DiffusionSvnRawDiffQuery' => 'DiffusionRawDiffQuery',
|
'DiffusionSvnRawDiffQuery' => 'DiffusionRawDiffQuery',
|
||||||
'DiffusionSvnRenameHistoryQuery' => 'DiffusionRenameHistoryQuery',
|
|
||||||
'DiffusionSvnRequest' => 'DiffusionRequest',
|
'DiffusionSvnRequest' => 'DiffusionRequest',
|
||||||
'DiffusionSvnTagListQuery' => 'DiffusionTagListQuery',
|
'DiffusionSvnTagListQuery' => 'DiffusionTagListQuery',
|
||||||
'DiffusionSymbolController' => 'DiffusionController',
|
'DiffusionSymbolController' => 'DiffusionController',
|
||||||
|
|
|
@ -754,8 +754,8 @@ final class DiffusionBrowseFileController extends DiffusionController {
|
||||||
$parent->getCommitIdentifier());
|
$parent->getCommitIdentifier());
|
||||||
|
|
||||||
if ($grandparent) {
|
if ($grandparent) {
|
||||||
$rename_query = DiffusionRenameHistoryQuery::newFromDiffusionRequest(
|
$rename_query = new DiffusionRenameHistoryQuery();
|
||||||
$drequest);
|
$rename_query->setRequest($drequest);
|
||||||
$rename_query->setOldCommit($grandparent->getCommitIdentifier());
|
$rename_query->setOldCommit($grandparent->getCommitIdentifier());
|
||||||
$old_filename = $rename_query->loadOldFilename();
|
$old_filename = $rename_query->loadOldFilename();
|
||||||
$was_created = $rename_query->getWasCreated();
|
$was_created = $rename_query->getWasCreated();
|
||||||
|
@ -783,7 +783,7 @@ final class DiffusionBrowseFileController extends DiffusionController {
|
||||||
$path = $drequest->getPath();
|
$path = $drequest->getPath();
|
||||||
$renamed = null;
|
$renamed = null;
|
||||||
if ($old_filename !== null &&
|
if ($old_filename !== null &&
|
||||||
$old_filename !== $path) {
|
$old_filename !== '/'.$path) {
|
||||||
$renamed = $path;
|
$renamed = $path;
|
||||||
$path = $old_filename;
|
$path = $old_filename;
|
||||||
}
|
}
|
||||||
|
|
112
src/applications/diffusion/query/DiffusionRenameHistoryQuery.php
Normal file
112
src/applications/diffusion/query/DiffusionRenameHistoryQuery.php
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2012 Facebook, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
final class DiffusionRenameHistoryQuery {
|
||||||
|
|
||||||
|
private $oldCommit;
|
||||||
|
private $wasCreated;
|
||||||
|
private $request;
|
||||||
|
|
||||||
|
public function getWasCreated() {
|
||||||
|
return $this->wasCreated;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setRequest(DiffusionRequest $request) {
|
||||||
|
$this->request = $request;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setOldCommit($old_commit) {
|
||||||
|
$this->oldCommit = $old_commit;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getOldCommit() {
|
||||||
|
return $this->oldCommit;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function loadOldFilename() {
|
||||||
|
$drequest = $this->request;
|
||||||
|
$repository_id = $drequest->getRepository()->getID();
|
||||||
|
$conn_r = id(new PhabricatorRepository())->establishConnection('r');
|
||||||
|
|
||||||
|
$commit_id = $this->loadCommitId($this->oldCommit);
|
||||||
|
$old_commit_sequence = $this->loadCommitSequence($commit_id);
|
||||||
|
|
||||||
|
$path = '/'.$drequest->getPath();
|
||||||
|
$commit_id = $this->loadCommitId($drequest->getCommit());
|
||||||
|
|
||||||
|
do {
|
||||||
|
$commit_sequence = $this->loadCommitSequence($commit_id);
|
||||||
|
$change = queryfx_one(
|
||||||
|
$conn_r,
|
||||||
|
'SELECT pc.changeType, pc.targetCommitID, tp.path
|
||||||
|
FROM %T p
|
||||||
|
JOIN %T pc ON p.id = pc.pathID
|
||||||
|
LEFT JOIN %T tp ON pc.targetPathID = tp.id
|
||||||
|
WHERE p.pathHash = %s
|
||||||
|
AND pc.repositoryID = %d
|
||||||
|
AND pc.changeType IN (%d, %d)
|
||||||
|
AND pc.commitSequence BETWEEN %d AND %d
|
||||||
|
ORDER BY pc.commitSequence DESC
|
||||||
|
LIMIT 1',
|
||||||
|
PhabricatorRepository::TABLE_PATH,
|
||||||
|
PhabricatorRepository::TABLE_PATHCHANGE,
|
||||||
|
PhabricatorRepository::TABLE_PATH,
|
||||||
|
md5($path),
|
||||||
|
$repository_id,
|
||||||
|
ArcanistDiffChangeType::TYPE_MOVE_HERE,
|
||||||
|
ArcanistDiffChangeType::TYPE_ADD,
|
||||||
|
$old_commit_sequence,
|
||||||
|
$commit_sequence);
|
||||||
|
if ($change) {
|
||||||
|
if ($change['changeType'] == ArcanistDiffChangeType::TYPE_ADD) {
|
||||||
|
$this->wasCreated = true;
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
$commit_id = $change['targetCommitID'];
|
||||||
|
$path = $change['path'];
|
||||||
|
}
|
||||||
|
} while ($change && $path);
|
||||||
|
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function loadCommitId($commit_identifier) {
|
||||||
|
$commit = id(new PhabricatorRepositoryCommit())->loadOneWhere(
|
||||||
|
'repositoryID = %d AND commitIdentifier = %s',
|
||||||
|
$this->request->getRepository()->getID(),
|
||||||
|
$commit_identifier);
|
||||||
|
return $commit->getID();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function loadCommitSequence($commit_id) {
|
||||||
|
$conn_r = id(new PhabricatorRepository())->establishConnection('r');
|
||||||
|
$path_change = queryfx_one(
|
||||||
|
$conn_r,
|
||||||
|
'SELECT commitSequence
|
||||||
|
FROM %T
|
||||||
|
WHERE repositoryID = %d AND commitID = %d
|
||||||
|
LIMIT 1',
|
||||||
|
PhabricatorRepository::TABLE_PATHCHANGE,
|
||||||
|
$this->request->getRepository()->getID(),
|
||||||
|
$commit_id);
|
||||||
|
return reset($path_change);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,88 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright 2012 Facebook, Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
final class DiffusionGitRenameHistoryQuery
|
|
||||||
extends DiffusionRenameHistoryQuery {
|
|
||||||
|
|
||||||
protected function executeQuery() {
|
|
||||||
$drequest = $this->getRequest();
|
|
||||||
|
|
||||||
$repository = $drequest->getRepository();
|
|
||||||
list($err, $stdout) = $repository->execLocalCommand(
|
|
||||||
'log --format=%s --follow --find-copies-harder -M -C --summary '.
|
|
||||||
'%s..%s -- %s',
|
|
||||||
'%x20',
|
|
||||||
$this->getOldCommit(),
|
|
||||||
$drequest->getCommit(),
|
|
||||||
$drequest->getPath());
|
|
||||||
|
|
||||||
if ($err) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$lines = explode("\n", $stdout);
|
|
||||||
$lines = array_map('trim', $lines);
|
|
||||||
$lines = array_filter($lines);
|
|
||||||
|
|
||||||
$name = null;
|
|
||||||
foreach ($lines as $line) {
|
|
||||||
list($action, $info) = explode(' ', $line, 2);
|
|
||||||
switch ($action) {
|
|
||||||
case 'rename':
|
|
||||||
// We support these cases:
|
|
||||||
// rename README => README.txt (100%)
|
|
||||||
// rename src/README => README (100%)
|
|
||||||
// rename src/{README => README.txt} (100%)
|
|
||||||
// rename {resources => rsrc}/README (100%)
|
|
||||||
// rename src/{aphront => }/README (100%)
|
|
||||||
// rename src/{ => aphront}/README (100%)
|
|
||||||
// rename src/{docs => ducks}/README (100%)
|
|
||||||
$matches = null;
|
|
||||||
$ok = preg_match(
|
|
||||||
'/^(.*){(.*) => (.*)}(.*) \([0-9%]+\)$/',
|
|
||||||
$info,
|
|
||||||
$matches);
|
|
||||||
if ($ok) {
|
|
||||||
$name = $matches[1].ltrim($matches[2].$matches[4], '/');
|
|
||||||
} else {
|
|
||||||
$ok = preg_match(
|
|
||||||
'/^(.*) => (.*) \([0-9%]+\)$/',
|
|
||||||
$info,
|
|
||||||
$matches);
|
|
||||||
if (!$ok) {
|
|
||||||
throw new Exception(
|
|
||||||
"Unparseable git log --summary line: {$line}.");
|
|
||||||
}
|
|
||||||
$name = $matches[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 'create':
|
|
||||||
// create mode 100644 <filename>
|
|
||||||
$this->setWasCreated(true);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// Anything else we care about?
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright 2012 Facebook, Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
final class DiffusionMercurialRenameHistoryQuery
|
|
||||||
extends DiffusionRenameHistoryQuery {
|
|
||||||
|
|
||||||
protected function executeQuery() {
|
|
||||||
// TODO: Implement.
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright 2012 Facebook, Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
abstract class DiffusionRenameHistoryQuery extends DiffusionQuery {
|
|
||||||
|
|
||||||
private $oldCommit;
|
|
||||||
private $wasCreated;
|
|
||||||
|
|
||||||
protected function setWasCreated($was_created) {
|
|
||||||
$this->wasCreated = $was_created;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getWasCreated() {
|
|
||||||
return $this->wasCreated;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setOldCommit($old_commit) {
|
|
||||||
$this->oldCommit = $old_commit;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getOldCommit() {
|
|
||||||
return $this->oldCommit;
|
|
||||||
}
|
|
||||||
|
|
||||||
final public static function newFromDiffusionRequest(
|
|
||||||
DiffusionRequest $request) {
|
|
||||||
return self::newQueryObject(__CLASS__, $request);
|
|
||||||
}
|
|
||||||
|
|
||||||
final public function loadOldFilename() {
|
|
||||||
return $this->executeQuery();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright 2012 Facebook, Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
final class DiffusionSvnRenameHistoryQuery
|
|
||||||
extends DiffusionRenameHistoryQuery {
|
|
||||||
|
|
||||||
protected function executeQuery() {
|
|
||||||
// TODO: Implement.
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue