Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/diffusion/query/branch/git/DiffusionGitBranchQuery.php b/src/applications/diffusion/query/branch/git/DiffusionGitBranchQuery.php
index f9306577b9..4dfb46ad8f 100644
--- a/src/applications/diffusion/query/branch/git/DiffusionGitBranchQuery.php
+++ b/src/applications/diffusion/query/branch/git/DiffusionGitBranchQuery.php
@@ -1,67 +1,66 @@
<?php
/*
* Copyright 2011 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 DiffusionGitBranchQuery extends DiffusionBranchQuery {
protected function executeQuery() {
$drequest = $this->getRequest();
$repository = $drequest->getRepository();
$local_path = $repository->getDetail('local-path');
- list($stdout) = execx(
- '(cd %s && git branch -r --verbose --no-abbrev)',
- $local_path);
+ list($stdout) = $repository->execxLocalCommand(
+ 'branch -r --verbose --no-abbrev');
$branches = array();
foreach (self::parseGitRemoteBranchOutput($stdout) as $name => $head) {
$branch = new DiffusionBranchInformation();
$branch->setName($name);
$branch->setHeadCommitIdentifier($head);
$branches[] = $branch;
}
return $branches;
}
public static function parseGitRemoteBranchOutput($stdout) {
$map = array();
$lines = array_filter(explode("\n", $stdout));
foreach ($lines as $line) {
$matches = null;
if (preg_match('/^ (\S+)\s+-> (\S+)$/', $line, $matches)) {
// This is a line like:
//
// origin/HEAD -> origin/master
//
// ...which we don't currently do anything interesting with, although
// in theory we could use it to automatically choose the default
// branch.
continue;
}
if (!preg_match('/^[ *] (\S+)\s+([a-z0-9]{40}) /', $line, $matches)) {
throw new Exception("Failed to parse {$line}!");
}
$map[$matches[1]] = $matches[2];
}
return $map;
}
}
diff --git a/src/applications/diffusion/query/branch/git/__init__.php b/src/applications/diffusion/query/branch/git/__init__.php
index 025d906a8b..2e621c8c50 100644
--- a/src/applications/diffusion/query/branch/git/__init__.php
+++ b/src/applications/diffusion/query/branch/git/__init__.php
@@ -1,15 +1,13 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/diffusion/data/branch');
phutil_require_module('phabricator', 'applications/diffusion/query/branch/base');
-phutil_require_module('phutil', 'future/exec');
-
phutil_require_source('DiffusionGitBranchQuery.php');
diff --git a/src/applications/diffusion/query/browse/git/DiffusionGitBrowseQuery.php b/src/applications/diffusion/query/browse/git/DiffusionGitBrowseQuery.php
index 02c25fee5c..973ae4a916 100644
--- a/src/applications/diffusion/query/browse/git/DiffusionGitBrowseQuery.php
+++ b/src/applications/diffusion/query/browse/git/DiffusionGitBrowseQuery.php
@@ -1,103 +1,98 @@
<?php
/*
* Copyright 2011 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 DiffusionGitBrowseQuery extends DiffusionBrowseQuery {
protected function executeQuery() {
$drequest = $this->getRequest();
$repository = $drequest->getRepository();
$path = $drequest->getPath();
$commit = $drequest->getCommit();
- $local_path = $repository->getDetail('local-path');
-
if ($path == '') {
// Fast path to improve the performance of the repository view; we know
// the root is always a tree at any commit and always exists.
$stdout = 'tree';
} else {
try {
- list($stdout) = execx(
- "(cd %s && git cat-file -t %s:%s)",
- $local_path,
+ list($stdout) = $repository->execxLocalCommand(
+ 'cat-file -t %s:%s',
$commit,
$path);
} catch (CommandException $e) {
$stderr = $e->getStdErr();
if (preg_match('/^fatal: Not a valid object name/', $stderr)) {
// Grab two logs, since the first one is when the object was deleted.
- list($stdout) = execx(
- '(cd %s && git log -n2 --format="%%H" %s -- %s)',
- $local_path,
+ list($stdout) = $repository->execxLocalCommand(
+ 'log -n2 --format="%%H" %s -- %s',
$commit,
$path);
$stdout = trim($stdout);
if ($stdout) {
$commits = explode("\n", $stdout);
$this->reason = self::REASON_IS_DELETED;
$this->deletedAtCommit = idx($commits, 0);
$this->existedAtCommit = idx($commits, 1);
return array();
}
$this->reason = self::REASON_IS_NONEXISTENT;
return array();
} else {
throw $e;
}
}
}
if (trim($stdout) == 'blob') {
$this->reason = self::REASON_IS_FILE;
return array();
}
if ($this->shouldOnlyTestValidity()) {
return true;
}
- list($stdout) = execx(
- "(cd %s && git ls-tree -l %s:%s)",
- $local_path,
+ list($stdout) = $repository->execxLocalCommand(
+ 'ls-tree -l %s:%s',
$commit,
$path);
$results = array();
foreach (explode("\n", rtrim($stdout)) as $line) {
list($mode, $type, $hash, $size, $name) = preg_split('/\s+/', $line);
if ($type == 'tree') {
$file_type = DifferentialChangeType::FILE_DIRECTORY;
} else {
$file_type = DifferentialChangeType::FILE_NORMAL;
}
$result = new DiffusionRepositoryPath();
$result->setPath($name);
$result->setHash($hash);
$result->setFileType($file_type);
$result->setFileSize($size);
$results[] = $result;
}
return $results;
}
}
diff --git a/src/applications/diffusion/query/browse/git/__init__.php b/src/applications/diffusion/query/browse/git/__init__.php
index 43e381b44f..ae74d932c4 100644
--- a/src/applications/diffusion/query/browse/git/__init__.php
+++ b/src/applications/diffusion/query/browse/git/__init__.php
@@ -1,17 +1,16 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/differential/constants/changetype');
phutil_require_module('phabricator', 'applications/diffusion/data/repositorypath');
phutil_require_module('phabricator', 'applications/diffusion/query/browse/base');
-phutil_require_module('phutil', 'future/exec');
phutil_require_module('phutil', 'utils');
phutil_require_source('DiffusionGitBrowseQuery.php');
diff --git a/src/applications/diffusion/query/diff/git/DiffusionGitDiffQuery.php b/src/applications/diffusion/query/diff/git/DiffusionGitDiffQuery.php
index 194a16e86a..e2ce756485 100644
--- a/src/applications/diffusion/query/diff/git/DiffusionGitDiffQuery.php
+++ b/src/applications/diffusion/query/diff/git/DiffusionGitDiffQuery.php
@@ -1,100 +1,97 @@
<?php
/*
* Copyright 2011 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 DiffusionGitDiffQuery extends DiffusionDiffQuery {
protected function executeQuery() {
$drequest = $this->getRequest();
$repository = $drequest->getRepository();
if (!$drequest->getRawCommit()) {
$effective_commit = $this->getEffectiveCommit();
if (!$effective_commit) {
return null;
}
// TODO: This side effect is kind of skethcy.
$drequest->setCommit($effective_commit);
} else {
$effective_commit = $drequest->getCommit();
}
$options = array(
'-M',
'-C',
'--no-ext-diff',
'--no-color',
'--src-prefix=a/',
'--dst-prefix=b/',
'-U65535',
);
$options = implode(' ', $options);
try {
- list($raw_diff) = execx(
- "(cd %s && git diff %C %s^ %s -- %s)",
- $repository->getDetail('local-path'),
+ list($raw_diff) = $repository->execxLocalCommand(
+ 'diff %C %s^ %s -- %s',
$options,
$effective_commit,
$effective_commit,
$drequest->getPath());
} catch (CommandException $ex) {
// Check if this is the root commit by seeing if it has parents.
- list($parents) = execx(
- '(cd %s && git log --format=%s %s --)',
- $repository->getDetail('local-path'),
+ list($parents) = $repository->execxLocalCommand(
+ 'log --format=%s %s --',
'%P', // "parents"
$effective_commit);
if (!strlen(trim($parents))) {
// No parents means we're looking at the root revision. Diff against
// the empty tree hash instead, since there is no parent so "^" does
// not work. See ArcanistGitAPI for more discussion.
- list($raw_diff) = execx(
- '(cd %s && git diff %C %s %s -- %s)',
- $repository->getDetail('local-path'),
+ list($raw_diff) = $repository->execxLocalCommand(
+ 'diff %C %s %s -- %s',
$options,
ArcanistGitAPI::GIT_MAGIC_ROOT_COMMIT,
$effective_commit,
$drequest->getPath());
} else {
throw $ex;
}
}
$parser = new ArcanistDiffParser();
$try_encoding = $repository->getDetail('encoding');
if ($try_encoding) {
$parser->setTryEncoding($try_encoding);
}
$parser->setDetectBinaryFiles(true);
$changes = $parser->parseDiff($raw_diff);
$diff = DifferentialDiff::newFromRawChanges($changes);
$changesets = $diff->getChangesets();
$changeset = reset($changesets);
$this->renderingReference =
$drequest->getBranchURIComponent($drequest->getBranch()).
$drequest->getPath().';'.
$drequest->getCommit();
return $changeset;
}
}
diff --git a/src/applications/diffusion/query/diff/git/__init__.php b/src/applications/diffusion/query/diff/git/__init__.php
index d85a8e45c7..766d74997d 100644
--- a/src/applications/diffusion/query/diff/git/__init__.php
+++ b/src/applications/diffusion/query/diff/git/__init__.php
@@ -1,18 +1,16 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('arcanist', 'parser/diff');
phutil_require_module('arcanist', 'repository/api/git');
phutil_require_module('phabricator', 'applications/differential/storage/diff');
phutil_require_module('phabricator', 'applications/diffusion/query/diff/base');
-phutil_require_module('phutil', 'future/exec');
-
phutil_require_source('DiffusionGitDiffQuery.php');
diff --git a/src/applications/diffusion/query/filecontent/git/DiffusionGitFileContentQuery.php b/src/applications/diffusion/query/filecontent/git/DiffusionGitFileContentQuery.php
index 4ca26355b9..0e427e4858 100644
--- a/src/applications/diffusion/query/filecontent/git/DiffusionGitFileContentQuery.php
+++ b/src/applications/diffusion/query/filecontent/git/DiffusionGitFileContentQuery.php
@@ -1,68 +1,65 @@
<?php
/*
* Copyright 2011 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 DiffusionGitFileContentQuery extends DiffusionFileContentQuery {
protected function executeQuery() {
$drequest = $this->getRequest();
$repository = $drequest->getRepository();
$path = $drequest->getPath();
$commit = $drequest->getCommit();
- $local_path = $repository->getDetail('local-path');
if ($this->getNeedsBlame()) {
- list($corpus) = execx(
- '(cd %s && git --no-pager blame -c -l --date=short %s -- %s)',
- $local_path,
+ list($corpus) = $repository->execxLocalCommand(
+ '--no-pager blame -c -l --date=short %s -- %s',
$commit,
$path);
} else {
- list($corpus) = execx(
- '(cd %s && git cat-file blob %s:%s)',
- $local_path,
+ list($corpus) = $repository->execxLocalCommand(
+ 'cat-file blob %s:%s',
$commit,
$path);
}
$file_content = new DiffusionFileContent();
$file_content->setCorpus($corpus);
return $file_content;
}
protected function tokenizeLine($line) {
$m = array();
// sample lines:
//
// d1b4fcdd2a7c8c0f8cbdd01ca839d992135424dc
// ( hzhao 2009-05-01 202)function print();
//
// 8220d5d54f6d5d5552a636576cbe9c35f15b65b2
// (Andrew Gallagher 2010-12-03 324)
// // Add the lines for trailing context
preg_match('/^\s*?(\S+?)\s*\(\s*([^)]*)\s+\d{4}-\d{2}-\d{2}\s+\d+\)(.*)?$/',
$line, $m);
$rev_id = $m[1];
$author = $m[2];
$text = idx($m, 3);
return array($rev_id, $author, $text);
}
}
diff --git a/src/applications/diffusion/query/filecontent/git/__init__.php b/src/applications/diffusion/query/filecontent/git/__init__.php
index 94c1835f75..9b01358c48 100644
--- a/src/applications/diffusion/query/filecontent/git/__init__.php
+++ b/src/applications/diffusion/query/filecontent/git/__init__.php
@@ -1,16 +1,15 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/diffusion/data/filecontent');
phutil_require_module('phabricator', 'applications/diffusion/query/filecontent/base');
-phutil_require_module('phutil', 'future/exec');
phutil_require_module('phutil', 'utils');
phutil_require_source('DiffusionGitFileContentQuery.php');
diff --git a/src/applications/diffusion/query/history/git/DiffusionGitHistoryQuery.php b/src/applications/diffusion/query/history/git/DiffusionGitHistoryQuery.php
index bf95cfe610..5d3fe73499 100644
--- a/src/applications/diffusion/query/history/git/DiffusionGitHistoryQuery.php
+++ b/src/applications/diffusion/query/history/git/DiffusionGitHistoryQuery.php
@@ -1,49 +1,46 @@
<?php
/*
* Copyright 2011 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 DiffusionGitHistoryQuery extends DiffusionHistoryQuery {
protected function executeQuery() {
$drequest = $this->getRequest();
$repository = $drequest->getRepository();
$path = $drequest->getPath();
$commit_hash = $drequest->getCommit();
- $local_path = $repository->getDetail('local-path');
-
- list($stdout) = execx(
- '(cd %s && git log '.
+ list($stdout) = $repository->execxLocalCommand(
+ 'log '.
'--skip=%d '.
'-n %d '.
'--abbrev=40 '.
'--pretty=format:%%H '.
- '%s -- %s)',
- $local_path,
+ '%s -- %s',
$this->getOffset(),
$this->getLimit(),
$commit_hash,
$path);
$hashes = explode("\n", $stdout);
$hashes = array_filter($hashes);
return $this->loadHistoryForCommitIdentifiers($hashes);
}
}
diff --git a/src/applications/diffusion/query/history/git/__init__.php b/src/applications/diffusion/query/history/git/__init__.php
index 1094fb4883..948d796aa8 100644
--- a/src/applications/diffusion/query/history/git/__init__.php
+++ b/src/applications/diffusion/query/history/git/__init__.php
@@ -1,14 +1,12 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/diffusion/query/history/base');
-phutil_require_module('phutil', 'future/exec');
-
phutil_require_source('DiffusionGitHistoryQuery.php');
diff --git a/src/applications/diffusion/query/lastmodified/git/DiffusionGitLastModifiedQuery.php b/src/applications/diffusion/query/lastmodified/git/DiffusionGitLastModifiedQuery.php
index 3ac39f5a3e..be1113dbc9 100644
--- a/src/applications/diffusion/query/lastmodified/git/DiffusionGitLastModifiedQuery.php
+++ b/src/applications/diffusion/query/lastmodified/git/DiffusionGitLastModifiedQuery.php
@@ -1,47 +1,46 @@
<?php
/*
* Copyright 2011 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 DiffusionGitLastModifiedQuery extends DiffusionLastModifiedQuery {
protected function executeQuery() {
$drequest = $this->getRequest();
$repository = $drequest->getRepository();
- list($hash) = execx(
- "(cd %s && git log -n1 --format=%%H %s -- %s)",
- $repository->getDetail('local-path'),
+ list($hash) = $repository->execxLocalCommand(
+ 'log -n1 --format=%%H %s -- %s',
$drequest->getCommit(),
$drequest->getPath());
$hash = trim($hash);
$commit_data = null;
$commit = id(new PhabricatorRepositoryCommit())->loadOneWhere(
'repositoryID = %d AND commitIdentifier = %s',
$repository->getID(),
$hash);
if ($commit) {
$commit_data = id(new PhabricatorRepositoryCommitData())->loadOneWhere(
'commitID = %d',
$commit->getID());
}
return array($commit, $commit_data);
}
}
diff --git a/src/applications/diffusion/query/lastmodified/git/__init__.php b/src/applications/diffusion/query/lastmodified/git/__init__.php
index 14b7716460..0f7241f74a 100644
--- a/src/applications/diffusion/query/lastmodified/git/__init__.php
+++ b/src/applications/diffusion/query/lastmodified/git/__init__.php
@@ -1,17 +1,16 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/diffusion/query/lastmodified/base');
phutil_require_module('phabricator', 'applications/repository/storage/commit');
phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
-phutil_require_module('phutil', 'future/exec');
phutil_require_module('phutil', 'utils');
phutil_require_source('DiffusionGitLastModifiedQuery.php');
diff --git a/src/applications/diffusion/request/git/DiffusionGitRequest.php b/src/applications/diffusion/request/git/DiffusionGitRequest.php
index 4206daf0ca..82b244ea38 100644
--- a/src/applications/diffusion/request/git/DiffusionGitRequest.php
+++ b/src/applications/diffusion/request/git/DiffusionGitRequest.php
@@ -1,142 +1,139 @@
<?php
/*
* Copyright 2011 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.
*/
class DiffusionGitRequest extends DiffusionRequest {
protected function initializeFromAphrontRequestDictionary(array $data) {
parent::initializeFromAphrontRequestDictionary($data);
$path = $this->path;
$parts = explode('/', $path);
$branch = array_shift($parts);
if ($branch != ':') {
$this->branch = $this->decodeBranchName($branch);
}
foreach ($parts as $key => $part) {
// Prevent any hyjinx since we're ultimately shipping this to the
// filesystem under a lot of git workflows.
if ($part == '..') {
unset($parts[$key]);
}
}
$this->path = implode('/', $parts);
if ($this->repository) {
- $local_path = $this->repository->getDetail('local-path');
+ $repository = $this->repository;
// TODO: This is not terribly efficient and does not produce terribly
// good error messages, but it seems better to put error handling code
// here than to try to do it in every query.
$branch = $this->getBranch();
// TODO: Here, particularly, we should give the user a specific error
// message to indicate whether they've typed in some bogus branch and/or
// followed a bad link, or misconfigured the default branch in the
// Repository tool.
- list($this->stableCommitName) = execx(
- '(cd %s && git rev-parse --verify %s)',
- $local_path,
+ list($this->stableCommitName) = $repository->execxLocalCommand(
+ 'rev-parse --verify %s',
$branch);
if ($this->commit) {
- list($commit) = execx(
- '(cd %s && git rev-parse --verify %s)',
- $local_path,
+ list($commit) = $repository->execxLocalCommand(
+ 'rev-parse --verify %s',
$this->commit);
// Beyond verifying them, expand commit short forms to full 40-character
// sha1s.
$this->commit = trim($commit);
// If we have a commit, overwrite the branch commit with the more
// specific commit.
$this->stableCommitName = $this->commit;
/*
TODO: Unclear if this is actually a good idea or not; it breaks commit views
at the very least.
- list($contains) = execx(
- '(cd %s && git branch --contains %s)',
- $local_path,
+ list($contains) = $repository->execxLocalCommand(
+ 'branch --contains %s',
$this->commit);
$contains = array_filter(explode("\n", $contains));
$found = false;
foreach ($contains as $containing_branch) {
$containing_branch = trim($containing_branch, "* \n");
if ($containing_branch == $branch) {
$found = true;
break;
}
}
if (!$found) {
throw new Exception(
"Commit does not exist on this branch!");
}
*/
}
}
}
public function getBranch() {
if ($this->branch) {
return $this->branch;
}
if ($this->repository) {
return $this->repository->getDetail('default-branch', 'origin/master');
}
throw new Exception("Unable to determine branch!");
}
public function getUriPath() {
return '/diffusion/'.$this->getCallsign().'/browse/'.
$this->getBranchURIComponent($this->branch).$this->path;
}
public function getCommit() {
if ($this->commit) {
return $this->commit;
}
return $this->getBranch();
}
public function getStableCommitName() {
return substr($this->stableCommitName, 0, 16);
}
public function getBranchURIComponent($branch) {
return $this->encodeBranchName($branch).'/';
}
private function decodeBranchName($branch) {
return str_replace(':', '/', $branch);
}
private function encodeBranchName($branch) {
return str_replace('/', ':', $branch);
}
}
diff --git a/src/applications/diffusion/request/git/__init__.php b/src/applications/diffusion/request/git/__init__.php
index 85a3411f63..f63f9da1b5 100644
--- a/src/applications/diffusion/request/git/__init__.php
+++ b/src/applications/diffusion/request/git/__init__.php
@@ -1,14 +1,12 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/diffusion/request/base');
-phutil_require_module('phutil', 'future/exec');
-
phutil_require_source('DiffusionGitRequest.php');

File Metadata

Mime Type
text/x-diff
Expires
Fri, Aug 15, 2:27 PM (6 d, 18 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
202450
Default Alt Text
(25 KB)

Event Timeline