Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php final class DiffusionMercurialBlameQuery extends DiffusionBlameQuery { protected..
Decoded Output download
<?php
final class DiffusionMercurialBlameQuery extends DiffusionBlameQuery {
protected function newBlameFuture(DiffusionRequest $request, $path) {
$repository = $request->getRepository();
$commit = $request->getCommit();
// NOTE: Using "--template" or "--debug" to get the full commit hashes.
$hg_analyzer = PhutilBinaryAnalyzer::getForBinary('hg');
if ($hg_analyzer->isMercurialAnnotateTemplatesAvailable()) {
// See `hg help annotate --verbose` for more info on the template format.
// Use array of arguments so the template line does not need wrapped in
// quotes.
$template = array(
'--template',
"{lines % '{node}: {line}'}",
);
} else {
$template = array(
'--debug',
'--changeset',
);
}
return $repository->getLocalCommandFuture(
'annotate %Ls --rev %s -- %s',
$template,
$commit,
$path);
}
protected function resolveBlameFuture(ExecFuture $future) {
list($err, $stdout) = $future->resolve();
if ($err) {
return null;
}
$result = array();
$lines = phutil_split_lines($stdout);
foreach ($lines as $line) {
// If the `--debug` flag was used above instead of `--template` then
// there's a good change additional output was included which is not
// relevant to the information we want. It should be safe to call this
// regardless of whether we used `--debug` or `--template` so there isn't
// a need to track which argument was used.
$line = DiffusionMercurialCommandEngine::filterMercurialDebugOutput(
$line);
// Just in case new versions of Mercurial add arbitrary output when using
// the `--debug`, do a quick sanity check that this line is formatted in
// a way we're expecting.
if (strpos($line, ':') === false) {
phlog(pht('Unexpected output from hg annotate: %s', $line));
continue;
}
list($commit) = explode(':', $line, 2);
$result[] = $commit;
}
return $result;
}
}
?>
Did this file decode correctly?
Original Code
<?php
final class DiffusionMercurialBlameQuery extends DiffusionBlameQuery {
protected function newBlameFuture(DiffusionRequest $request, $path) {
$repository = $request->getRepository();
$commit = $request->getCommit();
// NOTE: Using "--template" or "--debug" to get the full commit hashes.
$hg_analyzer = PhutilBinaryAnalyzer::getForBinary('hg');
if ($hg_analyzer->isMercurialAnnotateTemplatesAvailable()) {
// See `hg help annotate --verbose` for more info on the template format.
// Use array of arguments so the template line does not need wrapped in
// quotes.
$template = array(
'--template',
"{lines % '{node}: {line}'}",
);
} else {
$template = array(
'--debug',
'--changeset',
);
}
return $repository->getLocalCommandFuture(
'annotate %Ls --rev %s -- %s',
$template,
$commit,
$path);
}
protected function resolveBlameFuture(ExecFuture $future) {
list($err, $stdout) = $future->resolve();
if ($err) {
return null;
}
$result = array();
$lines = phutil_split_lines($stdout);
foreach ($lines as $line) {
// If the `--debug` flag was used above instead of `--template` then
// there's a good change additional output was included which is not
// relevant to the information we want. It should be safe to call this
// regardless of whether we used `--debug` or `--template` so there isn't
// a need to track which argument was used.
$line = DiffusionMercurialCommandEngine::filterMercurialDebugOutput(
$line);
// Just in case new versions of Mercurial add arbitrary output when using
// the `--debug`, do a quick sanity check that this line is formatted in
// a way we're expecting.
if (strpos($line, ':') === false) {
phlog(pht('Unexpected output from hg annotate: %s', $line));
continue;
}
list($commit) = explode(':', $line, 2);
$result[] = $commit;
}
return $result;
}
}
Function Calls
None |
Stats
MD5 | 881c5baa531db6aa5d6b237fdfa0b6ba |
Eval Count | 0 |
Decode Time | 101 ms |