mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
Fix spelling
Summary: Noticed a couple of typos in the docs, and then things got out of hand. Test Plan: - Stared at the words until my eyes watered and the letters began to swim on the screen. - Consulted a dictionary. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley, yelirekim, PHID-OPKG-gm6ozazyms6q6i22gyam Differential Revision: https://secure.phabricator.com/D18693
This commit is contained in:
parent
4fd9d2d4bb
commit
9bd6a37055
157 changed files with 204 additions and 204 deletions
|
@ -5,7 +5,7 @@ $root = dirname(dirname(dirname(__FILE__)));
|
||||||
require_once $root.'/scripts/__init_script__.php';
|
require_once $root.'/scripts/__init_script__.php';
|
||||||
|
|
||||||
$args = new PhutilArgumentParser($argv);
|
$args = new PhutilArgumentParser($argv);
|
||||||
$args->setTagline(pht('manage garbage colletors'));
|
$args->setTagline(pht('manage garbage collectors'));
|
||||||
$args->setSynopsis(<<<EOSYNOPSIS
|
$args->setSynopsis(<<<EOSYNOPSIS
|
||||||
**garbage** __command__ [__options__]
|
**garbage** __command__ [__options__]
|
||||||
Manage garbage collectors.
|
Manage garbage collectors.
|
||||||
|
|
|
@ -160,7 +160,7 @@ abstract class AphrontHTTPParameterType extends Phobject {
|
||||||
/**
|
/**
|
||||||
* Call another type's existence check.
|
* Call another type's existence check.
|
||||||
*
|
*
|
||||||
* This method allows a type to reuse the exitence behavior of a different
|
* This method allows a type to reuse the existence behavior of a different
|
||||||
* type. For example, a "list of users" type may have the same basic
|
* type. For example, a "list of users" type may have the same basic
|
||||||
* existence check that a simpler "list of strings" type has, and can just
|
* existence check that a simpler "list of strings" type has, and can just
|
||||||
* call the simpler type to reuse its behavior.
|
* call the simpler type to reuse its behavior.
|
||||||
|
|
|
@ -204,7 +204,7 @@ final class AlmanacDeviceEditor
|
||||||
$xaction);
|
$xaction);
|
||||||
$errors[] = $error;
|
$errors[] = $error;
|
||||||
} else {
|
} else {
|
||||||
// TODO: Validate addresses, but IPv6 addresses are not trival
|
// TODO: Validate addresses, but IPv6 addresses are not trivial
|
||||||
// to validate.
|
// to validate.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ final class PhabricatorAuditListView extends AphrontView {
|
||||||
return $summary;
|
return $summary;
|
||||||
}
|
}
|
||||||
|
|
||||||
// No summary, so either this is still impoting or just has an empty
|
// No summary, so either this is still importing or just has an empty
|
||||||
// commit message.
|
// commit message.
|
||||||
|
|
||||||
if (!$commit->isImported()) {
|
if (!$commit->isImported()) {
|
||||||
|
|
|
@ -134,7 +134,7 @@ abstract class PhabricatorAuthController extends PhabricatorController {
|
||||||
// checks later on to make sure this account is valid for the intended
|
// checks later on to make sure this account is valid for the intended
|
||||||
// operation. This requires edit permission for completeness and consistency
|
// operation. This requires edit permission for completeness and consistency
|
||||||
// but it won't actually be meaningfully checked because we're using the
|
// but it won't actually be meaningfully checked because we're using the
|
||||||
// ominpotent user.
|
// omnipotent user.
|
||||||
|
|
||||||
$account = id(new PhabricatorExternalAccountQuery())
|
$account = id(new PhabricatorExternalAccountQuery())
|
||||||
->setViewer(PhabricatorUser::getOmnipotentUser())
|
->setViewer(PhabricatorUser::getOmnipotentUser())
|
||||||
|
|
|
@ -79,7 +79,7 @@ final class PhabricatorAuthRegisterController
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($default_email !== null) {
|
if ($default_email !== null) {
|
||||||
// We should bypass policy here becase e.g. limiting an application use
|
// We should bypass policy here because e.g. limiting an application use
|
||||||
// to a subset of users should not allow the others to overwrite
|
// to a subset of users should not allow the others to overwrite
|
||||||
// configured application emails.
|
// configured application emails.
|
||||||
$application_email = id(new PhabricatorMetaMTAApplicationEmailQuery())
|
$application_email = id(new PhabricatorMetaMTAApplicationEmailQuery())
|
||||||
|
|
|
@ -226,7 +226,7 @@ final class PhabricatorAuthSSHKeyEditor
|
||||||
->addHeader('Thread-Topic', $phid);
|
->addHeader('Thread-Topic', $phid);
|
||||||
|
|
||||||
// The primary value of this mail is alerting users to account compromises,
|
// The primary value of this mail is alerting users to account compromises,
|
||||||
// so force delivery. In particular, this mail should still be delievered
|
// so force delivery. In particular, this mail should still be delivered
|
||||||
// even if "self mail" is disabled.
|
// even if "self mail" is disabled.
|
||||||
$mail->setForceDelivery(true);
|
$mail->setForceDelivery(true);
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ final class PhabricatorAuthInviteTestCase extends PhabricatorTestCase {
|
||||||
$caught = $ex;
|
$caught = $ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This first time should accept the invite and verify the addresss.
|
// This first time should accept the invite and verify the address.
|
||||||
$this->assertTrue(
|
$this->assertTrue(
|
||||||
($caught instanceof PhabricatorAuthInviteRegisteredException));
|
($caught instanceof PhabricatorAuthInviteRegisteredException));
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ final class PhabricatorAuthManagementRevokeWorkflow
|
||||||
if (!strlen($from) && !$is_everywhere) {
|
if (!strlen($from) && !$is_everywhere) {
|
||||||
throw new PhutilArgumentUsageException(
|
throw new PhutilArgumentUsageException(
|
||||||
pht(
|
pht(
|
||||||
'Specify the target to revoke credentals from with "--from" or '.
|
'Specify the target to revoke credentials from with "--from" or '.
|
||||||
'specify "--everywhere".'));
|
'specify "--everywhere".'));
|
||||||
} else if (strlen($from) && $is_everywhere) {
|
} else if (strlen($from) && $is_everywhere) {
|
||||||
throw new PhutilArgumentUsageException(
|
throw new PhutilArgumentUsageException(
|
||||||
|
|
|
@ -270,7 +270,7 @@ abstract class PhabricatorOAuth1AuthProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getHandshakeTokenKeyFromClientCode($client_code) {
|
private function getHandshakeTokenKeyFromClientCode($client_code) {
|
||||||
// NOTE: This is very slightly coersive since the TemporaryToken table
|
// NOTE: This is very slightly coercive since the TemporaryToken table
|
||||||
// expects an "objectPHID" as an identifier, but nothing about the storage
|
// expects an "objectPHID" as an identifier, but nothing about the storage
|
||||||
// is bound to PHIDs.
|
// is bound to PHIDs.
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ abstract class PhabricatorApplication
|
||||||
*
|
*
|
||||||
* Launchable applications can be pinned to the home page, and show up in the
|
* Launchable applications can be pinned to the home page, and show up in the
|
||||||
* "Launcher" view of the Applications application. Making an application
|
* "Launcher" view of the Applications application. Making an application
|
||||||
* unlauncahble prevents pinning and hides it from this view.
|
* unlaunchable prevents pinning and hides it from this view.
|
||||||
*
|
*
|
||||||
* Usually, an application should be marked unlaunchable if:
|
* Usually, an application should be marked unlaunchable if:
|
||||||
*
|
*
|
||||||
|
|
|
@ -552,7 +552,7 @@ abstract class PhabricatorController extends AphrontController {
|
||||||
|
|
||||||
|
|
||||||
public function buildApplicationCrumbsForEditEngine() {
|
public function buildApplicationCrumbsForEditEngine() {
|
||||||
// TODO: This is kind of gross, I'm bascially just making this public so
|
// TODO: This is kind of gross, I'm basically just making this public so
|
||||||
// I can use it in EditEngine. We could do this without making it public
|
// I can use it in EditEngine. We could do this without making it public
|
||||||
// by using controller delegation, or make it properly public.
|
// by using controller delegation, or make it properly public.
|
||||||
return $this->buildApplicationCrumbs();
|
return $this->buildApplicationCrumbs();
|
||||||
|
|
|
@ -134,7 +134,7 @@ final class PhabricatorCalendarImportEditEngine
|
||||||
$fields[] = id(new PhabricatorSelectEditField())
|
$fields[] = id(new PhabricatorSelectEditField())
|
||||||
->setKey('frequency')
|
->setKey('frequency')
|
||||||
->setLabel(pht('Update Automatically'))
|
->setLabel(pht('Update Automatically'))
|
||||||
->setDescription(pht('Configure an automatic update frequncy.'))
|
->setDescription(pht('Configure an automatic update frequency.'))
|
||||||
->setTransactionType(
|
->setTransactionType(
|
||||||
PhabricatorCalendarImportFrequencyTransaction::TRANSACTIONTYPE)
|
PhabricatorCalendarImportFrequencyTransaction::TRANSACTIONTYPE)
|
||||||
->setConduitDescription(pht('Set the automatic update frequency.'))
|
->setConduitDescription(pht('Set the automatic update frequency.'))
|
||||||
|
|
|
@ -16,7 +16,7 @@ final class PhabricatorCalendarIconSet
|
||||||
'fa-plane' => pht('Travel'),
|
'fa-plane' => pht('Travel'),
|
||||||
'fa-plus-square' => pht('Health / Appointment'),
|
'fa-plus-square' => pht('Health / Appointment'),
|
||||||
|
|
||||||
'fa-rocket' => pht('Sabatical / Leave'),
|
'fa-rocket' => pht('Sabbatical / Leave'),
|
||||||
'fa-home' => pht('Working From Home'),
|
'fa-home' => pht('Working From Home'),
|
||||||
'fa-tree' => pht('Holiday'),
|
'fa-tree' => pht('Holiday'),
|
||||||
'fa-gamepad' => pht('Staycation'),
|
'fa-gamepad' => pht('Staycation'),
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
* calendar views - one for the conpherence calendar widget and one for the
|
* calendar views - one for the conpherence calendar widget and one for the
|
||||||
* user profile calendar view. These have slight differences such as
|
* user profile calendar view. These have slight differences such as
|
||||||
* conpherence showing both a three day "today 'til 2 days from now" *and*
|
* conpherence showing both a three day "today 'til 2 days from now" *and*
|
||||||
* a Sunday -> Saturday list, whilest the profile view shows a more simple
|
* a Sunday -> Saturday list, whilst the profile view shows a more simple
|
||||||
* seven day rolling list of events.
|
* seven day rolling list of events.
|
||||||
*/
|
*/
|
||||||
final class CalendarTimeUtil extends Phobject {
|
final class CalendarTimeUtil extends Phobject {
|
||||||
|
|
|
@ -23,7 +23,7 @@ final class PhabricatorCalendarEventFrequencyTransaction
|
||||||
// month, it means "the 30th of every month" as far as the RRULE is
|
// month, it means "the 30th of every month" as far as the RRULE is
|
||||||
// concerned. Such an event will not occur on months with fewer days.
|
// concerned. Such an event will not occur on months with fewer days.
|
||||||
|
|
||||||
// This is surprising, and proably not what the user wants. Instead,
|
// This is surprising, and probably not what the user wants. Instead,
|
||||||
// schedule these events relative to the end of the month: on the "-1st",
|
// schedule these events relative to the end of the month: on the "-1st",
|
||||||
// "-2nd" or "-3rd" day of the month. For example, a monthly event on
|
// "-2nd" or "-3rd" day of the month. For example, a monthly event on
|
||||||
// the 31st of a 31-day month translates to "every month, on the last
|
// the 31st of a 31-day month translates to "every month, on the last
|
||||||
|
@ -66,7 +66,7 @@ final class PhabricatorCalendarEventFrequencyTransaction
|
||||||
if (!isset($valid[$value])) {
|
if (!isset($valid[$value])) {
|
||||||
$errors[] = $this->newInvalidError(
|
$errors[] = $this->newInvalidError(
|
||||||
pht(
|
pht(
|
||||||
'Event frequency "%s" is not valid. Valid frequences are: %s.',
|
'Event frequency "%s" is not valid. Valid frequencies are: %s.',
|
||||||
$value,
|
$value,
|
||||||
implode(', ', $valid)),
|
implode(', ', $valid)),
|
||||||
$xaction);
|
$xaction);
|
||||||
|
|
|
@ -132,7 +132,7 @@ final class PhabricatorCalendarEventInviteTransaction
|
||||||
$this->renderHandleList($rem));
|
$this->renderHandleList($rem));
|
||||||
} else {
|
} else {
|
||||||
return pht(
|
return pht(
|
||||||
'%s invited %s attendee(s): %s; uninvinted %s attendee(s): %s.',
|
'%s invited %s attendee(s): %s; uninvited %s attendee(s): %s.',
|
||||||
$this->renderAuthor(),
|
$this->renderAuthor(),
|
||||||
phutil_count($add),
|
phutil_count($add),
|
||||||
$this->renderHandleList($add),
|
$this->renderHandleList($add),
|
||||||
|
@ -161,7 +161,7 @@ final class PhabricatorCalendarEventInviteTransaction
|
||||||
} else {
|
} else {
|
||||||
return pht(
|
return pht(
|
||||||
'%s updated the invite list for %s, invited %s: %s; '.
|
'%s updated the invite list for %s, invited %s: %s; '.
|
||||||
'uninvinted %s: %s.',
|
'uninvited %s: %s.',
|
||||||
$this->renderAuthor(),
|
$this->renderAuthor(),
|
||||||
$this->renderObject(),
|
$this->renderObject(),
|
||||||
phutil_count($add),
|
phutil_count($add),
|
||||||
|
|
|
@ -32,7 +32,7 @@ final class PhabricatorCalendarImportFrequencyTransaction
|
||||||
if (!isset($valid[$value])) {
|
if (!isset($valid[$value])) {
|
||||||
$errors[] = $this->newInvalidError(
|
$errors[] = $this->newInvalidError(
|
||||||
pht(
|
pht(
|
||||||
'Import frequency "%s" is not valid. Valid frequences are: %s.',
|
'Import frequency "%s" is not valid. Valid frequencies are: %s.',
|
||||||
$value,
|
$value,
|
||||||
implode(', ', $valid)),
|
implode(', ', $valid)),
|
||||||
$xaction);
|
$xaction);
|
||||||
|
|
|
@ -85,7 +85,7 @@ final class PhabricatorStorageSetupCheck extends PhabricatorSetupCheck {
|
||||||
'be buffered into memory before being written to permanent '.
|
'be buffered into memory before being written to permanent '.
|
||||||
'storage. Phabricator needs memory available to store these '.
|
'storage. Phabricator needs memory available to store these '.
|
||||||
'chunks while they are uploaded, but PHP is currently configured '.
|
'chunks while they are uploaded, but PHP is currently configured '.
|
||||||
'to severly limit the available memory.'.
|
'to severely limit the available memory.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'PHP processes currently have very little free memory available '.
|
'PHP processes currently have very little free memory available '.
|
||||||
'(%s). To work well, processes should have at least %s.'.
|
'(%s). To work well, processes should have at least %s.'.
|
||||||
|
|
|
@ -290,7 +290,7 @@ final class ConpherenceThreadQuery
|
||||||
->withObjectPHIDs(array_keys($conpherences))
|
->withObjectPHIDs(array_keys($conpherences))
|
||||||
->needHandles(true);
|
->needHandles(true);
|
||||||
|
|
||||||
// We have to flip these for the underyling query class. The semantics of
|
// We have to flip these for the underlying query class. The semantics of
|
||||||
// paging are tricky business.
|
// paging are tricky business.
|
||||||
if ($this->afterTransactionID) {
|
if ($this->afterTransactionID) {
|
||||||
$query->setBeforeID($this->afterTransactionID);
|
$query->setBeforeID($this->afterTransactionID);
|
||||||
|
|
|
@ -78,7 +78,7 @@ final class PhabricatorDashboardPanelTabsCustomField
|
||||||
|
|
||||||
public function renderEditControl(array $handles) {
|
public function renderEditControl(array $handles) {
|
||||||
// NOTE: This includes archived panels so we don't mutate the tabs
|
// NOTE: This includes archived panels so we don't mutate the tabs
|
||||||
// when saving a tab panel that includes archied panels. This whole UI is
|
// when saving a tab panel that includes archived panels. This whole UI is
|
||||||
// hopefully temporary anyway.
|
// hopefully temporary anyway.
|
||||||
|
|
||||||
$value = $this->getFieldValue();
|
$value = $this->getFieldValue();
|
||||||
|
|
|
@ -217,7 +217,7 @@ abstract class DifferentialController extends PhabricatorController {
|
||||||
// by default and let the user toggle the rest. With modern messages,
|
// by default and let the user toggle the rest. With modern messages,
|
||||||
// we can send the user to the Harbormaster detail page. Just show
|
// we can send the user to the Harbormaster detail page. Just show
|
||||||
// "a lot" of messages in legacy cases to try to strike a balance
|
// "a lot" of messages in legacy cases to try to strike a balance
|
||||||
// between implementation simplicitly and compatibility.
|
// between implementation simplicity and compatibility.
|
||||||
$legacy_messages = array_slice($legacy_messages, 0, 100);
|
$legacy_messages = array_slice($legacy_messages, 0, 100);
|
||||||
|
|
||||||
$messages = array();
|
$messages = array();
|
||||||
|
|
|
@ -45,7 +45,7 @@ abstract class DifferentialHarbormasterField
|
||||||
// by default and let the user toggle the rest. With modern messages,
|
// by default and let the user toggle the rest. With modern messages,
|
||||||
// we can send the user to the Harbormaster detail page. Just show
|
// we can send the user to the Harbormaster detail page. Just show
|
||||||
// "a lot" of messages in legacy cases to try to strike a balance
|
// "a lot" of messages in legacy cases to try to strike a balance
|
||||||
// between implementation simplicitly and compatibility.
|
// between implementation simplicity and compatibility.
|
||||||
$legacy_messages = array_slice($legacy_messages, 0, 100);
|
$legacy_messages = array_slice($legacy_messages, 0, 100);
|
||||||
|
|
||||||
foreach ($legacy_messages as $message) {
|
foreach ($legacy_messages as $message) {
|
||||||
|
|
|
@ -106,7 +106,7 @@ final class DifferentialDiffEditor
|
||||||
* We run Herald as part of transaction validation because Herald can
|
* We run Herald as part of transaction validation because Herald can
|
||||||
* block diff creation for Differential diffs. Its important to do this
|
* block diff creation for Differential diffs. Its important to do this
|
||||||
* separately so no Herald logs are saved; these logs could expose
|
* separately so no Herald logs are saved; these logs could expose
|
||||||
* information the Herald rules are inteneded to block.
|
* information the Herald rules are intended to block.
|
||||||
*/
|
*/
|
||||||
protected function validateTransaction(
|
protected function validateTransaction(
|
||||||
PhabricatorLiskDAO $object,
|
PhabricatorLiskDAO $object,
|
||||||
|
|
|
@ -699,7 +699,7 @@ final class DifferentialChangesetParser extends Phobject {
|
||||||
$hunk_parser->parseHunksForLineData($changeset->getHunks());
|
$hunk_parser->parseHunksForLineData($changeset->getHunks());
|
||||||
|
|
||||||
// Depending on the whitespace mode, we may need to compute a different
|
// Depending on the whitespace mode, we may need to compute a different
|
||||||
// set of changes than the set of changes in the hunk data (specificaly,
|
// set of changes than the set of changes in the hunk data (specifically,
|
||||||
// we might want to consider changed lines which have only whitespace
|
// we might want to consider changed lines which have only whitespace
|
||||||
// changes as unchanged).
|
// changes as unchanged).
|
||||||
if ($ignore_all) {
|
if ($ignore_all) {
|
||||||
|
@ -1192,11 +1192,11 @@ final class DifferentialChangesetParser extends Phobject {
|
||||||
* Mask - compute the actual lines that need to be shown (because they
|
* Mask - compute the actual lines that need to be shown (because they
|
||||||
* are near changes lines, near inline comments, or the request has
|
* are near changes lines, near inline comments, or the request has
|
||||||
* explicitly asked for them, i.e. resulting from the user clicking
|
* explicitly asked for them, i.e. resulting from the user clicking
|
||||||
* "show more"). The $mask returned is a sparesely populated dictionary
|
* "show more"). The $mask returned is a sparsely populated dictionary
|
||||||
* of $visible_line_number => true.
|
* of $visible_line_number => true.
|
||||||
*
|
*
|
||||||
* Depths - compute how indented any given line is. The $depths returned
|
* Depths - compute how indented any given line is. The $depths returned
|
||||||
* is a sparesely populated dictionary of $visible_line_number => $depth.
|
* is a sparsely populated dictionary of $visible_line_number => $depth.
|
||||||
*
|
*
|
||||||
* This function also has the side effect of modifying member variable
|
* This function also has the side effect of modifying member variable
|
||||||
* new such that tabs are normalized to spaces for each line of the diff.
|
* new such that tabs are normalized to spaces for each line of the diff.
|
||||||
|
|
|
@ -128,7 +128,7 @@ final class DifferentialModernHunk extends DifferentialHunk {
|
||||||
$this->setData($file->getPHID());
|
$this->setData($file->getPHID());
|
||||||
|
|
||||||
// NOTE: Because hunks don't have a PHID and we just load hunk data with
|
// NOTE: Because hunks don't have a PHID and we just load hunk data with
|
||||||
// the ominipotent viewer, we do not need to attach the file to anything.
|
// the omnipotent viewer, we do not need to attach the file to anything.
|
||||||
|
|
||||||
$result = $this->save();
|
$result = $this->save();
|
||||||
|
|
||||||
|
|
|
@ -442,7 +442,7 @@ final class DifferentialRevision extends DifferentialDAO
|
||||||
|
|
||||||
// For each path which the viewer owns a package for, find other packages
|
// For each path which the viewer owns a package for, find other packages
|
||||||
// which that authority can be used to force-accept. Once we find a way to
|
// which that authority can be used to force-accept. Once we find a way to
|
||||||
// force-accept a package, we don't need to keep loooking.
|
// force-accept a package, we don't need to keep looking.
|
||||||
$has_control = array();
|
$has_control = array();
|
||||||
foreach ($force_map as $path => $spec) {
|
foreach ($force_map as $path => $spec) {
|
||||||
$path_fragments = PhabricatorOwnersPackage::splitPath($path);
|
$path_fragments = PhabricatorOwnersPackage::splitPath($path);
|
||||||
|
@ -891,7 +891,7 @@ final class DifferentialRevision extends DifferentialDAO
|
||||||
self::TABLE_COMMIT,
|
self::TABLE_COMMIT,
|
||||||
$this->getID());
|
$this->getID());
|
||||||
|
|
||||||
// we have to do paths a little differentally as they do not have
|
// we have to do paths a little differently as they do not have
|
||||||
// an id or phid column for delete() to act on
|
// an id or phid column for delete() to act on
|
||||||
$dummy_path = new DifferentialAffectedPath();
|
$dummy_path = new DifferentialAffectedPath();
|
||||||
queryfx(
|
queryfx(
|
||||||
|
|
|
@ -22,7 +22,7 @@ final class DifferentialResponsibleViewerFunctionDatasource
|
||||||
'summary' => pht('Use the current viewing user.'),
|
'summary' => pht('Use the current viewing user.'),
|
||||||
'description' => pht(
|
'description' => pht(
|
||||||
'Show revisions the current viewer is responsible for. This '.
|
'Show revisions the current viewer is responsible for. This '.
|
||||||
'function inclues revisions the viewer is responsible for through '.
|
'function includes revisions the viewer is responsible for through '.
|
||||||
'membership in projects and packages.'),
|
'membership in projects and packages.'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
@ -479,7 +479,7 @@ final class DiffusionCommitController extends DiffusionController {
|
||||||
// chains of events). This should be rare, but does not indicate a bug
|
// chains of events). This should be rare, but does not indicate a bug
|
||||||
// or data issue.
|
// or data issue.
|
||||||
|
|
||||||
// NOTE: We never query push logs in SVN because the commiter is always
|
// NOTE: We never query push logs in SVN because the committer is always
|
||||||
// the pusher and the commit time is always the push time; the push log
|
// the pusher and the commit time is always the push time; the push log
|
||||||
// is redundant and we save a query by skipping it.
|
// is redundant and we save a query by skipping it.
|
||||||
|
|
||||||
|
|
|
@ -338,7 +338,7 @@ final class DiffusionRepositoryEditEngine
|
||||||
->setIsCopyable(true)
|
->setIsCopyable(true)
|
||||||
->setDescription(pht('Track only these branches.'))
|
->setDescription(pht('Track only these branches.'))
|
||||||
->setConduitDescription(pht('Set the tracked branches.'))
|
->setConduitDescription(pht('Set the tracked branches.'))
|
||||||
->setConduitTypeDescription(pht('New tracked branchs.'))
|
->setConduitTypeDescription(pht('New tracked branches.'))
|
||||||
->setValue($track_value),
|
->setValue($track_value),
|
||||||
id(new PhabricatorTextAreaEditField())
|
id(new PhabricatorTextAreaEditField())
|
||||||
->setIsStringList(true)
|
->setIsStringList(true)
|
||||||
|
@ -349,7 +349,7 @@ final class DiffusionRepositoryEditEngine
|
||||||
->setIsCopyable(true)
|
->setIsCopyable(true)
|
||||||
->setDescription(pht('Autoclose commits on only these branches.'))
|
->setDescription(pht('Autoclose commits on only these branches.'))
|
||||||
->setConduitDescription(pht('Set the autoclose branches.'))
|
->setConduitDescription(pht('Set the autoclose branches.'))
|
||||||
->setConduitTypeDescription(pht('New default tracked branchs.'))
|
->setConduitTypeDescription(pht('New default tracked branches.'))
|
||||||
->setValue($autoclose_value),
|
->setValue($autoclose_value),
|
||||||
id(new PhabricatorTextEditField())
|
id(new PhabricatorTextEditField())
|
||||||
->setKey('importOnly')
|
->setKey('importOnly')
|
||||||
|
@ -396,7 +396,7 @@ final class DiffusionRepositoryEditEngine
|
||||||
->setConduitDescription(
|
->setConduitDescription(
|
||||||
pht('Change symbol languages for this repository.'))
|
pht('Change symbol languages for this repository.'))
|
||||||
->setConduitTypeDescription(
|
->setConduitTypeDescription(
|
||||||
pht('New symbol langauges.'))
|
pht('New symbol languages.'))
|
||||||
->setValue($object->getSymbolLanguages()),
|
->setValue($object->getSymbolLanguages()),
|
||||||
id(new PhabricatorDatasourceEditField())
|
id(new PhabricatorDatasourceEditField())
|
||||||
->setKey('symbolRepositoryPHIDs')
|
->setKey('symbolRepositoryPHIDs')
|
||||||
|
|
|
@ -1230,7 +1230,7 @@ final class DiffusionCommitHookEngine extends Phobject {
|
||||||
// also look at author data (do the commits come from multiple different
|
// also look at author data (do the commits come from multiple different
|
||||||
// authors?) and commit date data (is the oldest commit more than 48 hours
|
// authors?) and commit date data (is the oldest commit more than 48 hours
|
||||||
// old), but we don't have immediate access to those and this simple
|
// old), but we don't have immediate access to those and this simple
|
||||||
// heruistic might be good enough.
|
// heuristic might be good enough.
|
||||||
|
|
||||||
$commit_count = 0;
|
$commit_count = 0;
|
||||||
$type_commit = PhabricatorRepositoryPushLog::REFTYPE_COMMIT;
|
$type_commit = PhabricatorRepositoryPushLog::REFTYPE_COMMIT;
|
||||||
|
|
|
@ -80,7 +80,7 @@ final class DiffusionGitLFSAuthenticateWorkflow
|
||||||
|
|
||||||
$lfs_uri = $repository->getGitLFSURI('info/lfs');
|
$lfs_uri = $repository->getGitLFSURI('info/lfs');
|
||||||
|
|
||||||
// Generate a temporary token to allow the user to acces LFS over HTTP.
|
// Generate a temporary token to allow the user to access LFS over HTTP.
|
||||||
// This works even if normal HTTP repository operations are not available
|
// This works even if normal HTTP repository operations are not available
|
||||||
// on this host, and does not require the user to have a VCS password.
|
// on this host, and does not require the user to have a VCS password.
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ final class HeraldCommitAdapter
|
||||||
$phids[] = $repository_phid;
|
$phids[] = $repository_phid;
|
||||||
|
|
||||||
// NOTE: This is projects for the repository, not for the commit. When
|
// NOTE: This is projects for the repository, not for the commit. When
|
||||||
// Herald evalutes, commits normally can not have any project tags yet.
|
// Herald evaluates, commits normally can not have any project tags yet.
|
||||||
$repository_project_phids = PhabricatorEdgeQuery::loadDestinationPHIDs(
|
$repository_project_phids = PhabricatorEdgeQuery::loadDestinationPHIDs(
|
||||||
$repository_phid,
|
$repository_phid,
|
||||||
$project_type);
|
$project_type);
|
||||||
|
|
|
@ -178,7 +178,7 @@ abstract class DiffusionCommandEngine extends Phobject {
|
||||||
if (!$device) {
|
if (!$device) {
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Attempting to build a reposiory command (for repository "%s") '.
|
'Attempting to build a repository command (for repository "%s") '.
|
||||||
'as device, but this host ("%s") is not configured as a cluster '.
|
'as device, but this host ("%s") is not configured as a cluster '.
|
||||||
'device.',
|
'device.',
|
||||||
$repository->getDisplayName(),
|
$repository->getDisplayName(),
|
||||||
|
|
|
@ -101,7 +101,7 @@ final class DiffusionMercurialWireProtocol extends Phobject {
|
||||||
|
|
||||||
/** If the server version is running 3.4+ it will respond
|
/** If the server version is running 3.4+ it will respond
|
||||||
* with 'bundle2' capability in the format of "bundle2=(url-encoding)".
|
* with 'bundle2' capability in the format of "bundle2=(url-encoding)".
|
||||||
* Until we maange to properly package up bundles to send back we
|
* Until we manage to properly package up bundles to send back we
|
||||||
* disallow the client from knowing we speak bundle2 by removing it
|
* disallow the client from knowing we speak bundle2 by removing it
|
||||||
* from the capabilities listing.
|
* from the capabilities listing.
|
||||||
*
|
*
|
||||||
|
|
|
@ -231,7 +231,7 @@ final class DiffusionRepositoryClusterEngine extends Phobject {
|
||||||
// no way to tell which one has the "right" data. If we pick wrong, we
|
// no way to tell which one has the "right" data. If we pick wrong, we
|
||||||
// might erase some or all of the data in the repository.
|
// might erase some or all of the data in the repository.
|
||||||
|
|
||||||
// Since this is dangeorus, we refuse to guess unless there is only one
|
// Since this is dangerous, we refuse to guess unless there is only one
|
||||||
// device. If we're the only device in the group, we obviously must be
|
// device. If we're the only device in the group, we obviously must be
|
||||||
// a leader.
|
// a leader.
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ final class DiffusionRepositoryClusterEngine extends Phobject {
|
||||||
'Repository "%s" exists on more than one device, but no device '.
|
'Repository "%s" exists on more than one device, but no device '.
|
||||||
'has any repository version information. Phabricator can not '.
|
'has any repository version information. Phabricator can not '.
|
||||||
'guess which copy of the existing data is authoritative. Promote '.
|
'guess which copy of the existing data is authoritative. Promote '.
|
||||||
'a device or see "Ambigous Leaders" in the documentation.',
|
'a device or see "Ambiguous Leaders" in the documentation.',
|
||||||
$repository->getDisplayName()));
|
$repository->getDisplayName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
* low-level query can.
|
* low-level query can.
|
||||||
*
|
*
|
||||||
* This class can resolve the most common refs (commits, branches, tags) and
|
* This class can resolve the most common refs (commits, branches, tags) and
|
||||||
* can do so cheapy (by examining the database, without needing to make calls
|
* can do so cheaply (by examining the database, without needing to make calls
|
||||||
* to the VCS or the service host).
|
* to the VCS or the service host).
|
||||||
*/
|
*/
|
||||||
final class DiffusionCachedResolveRefsQuery
|
final class DiffusionCachedResolveRefsQuery
|
||||||
|
|
|
@ -69,7 +69,7 @@ final class DiffusionCommitQuery
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Look up commits in a specific repository. Prefer
|
* Look up commits in a specific repository. Prefer
|
||||||
* @{method:withRepositoryIDs}; the underyling table is keyed by ID such
|
* @{method:withRepositoryIDs}; the underlying table is keyed by ID such
|
||||||
* that this method requires a separate initial query to map PHID to ID.
|
* that this method requires a separate initial query to map PHID to ID.
|
||||||
*/
|
*/
|
||||||
public function withRepositoryPHIDs(array $phids) {
|
public function withRepositoryPHIDs(array $phids) {
|
||||||
|
|
|
@ -53,7 +53,7 @@ final class DiffusionCommitConcernTransaction
|
||||||
}
|
}
|
||||||
|
|
||||||
// Even if you've already raised a concern, you can raise again as long
|
// Even if you've already raised a concern, you can raise again as long
|
||||||
// as the author requsted you verify.
|
// as the author requested you verify.
|
||||||
$state_verify = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION;
|
$state_verify = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION;
|
||||||
|
|
||||||
if ($this->isViewerFullyRejected($object, $viewer)) {
|
if ($this->isViewerFullyRejected($object, $viewer)) {
|
||||||
|
|
|
@ -53,7 +53,7 @@ final class DiffusionCommitVerifyTransaction
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'You can not request verification of this commit because no '.
|
'You can not request verification of this commit because no '.
|
||||||
'auditors have raised conerns with it.'));
|
'auditors have raised concerns with it.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ abstract class DrydockBlueprintImplementation extends Phobject {
|
||||||
* is a coarse compatibility check between a lease and a resource.
|
* is a coarse compatibility check between a lease and a resource.
|
||||||
*
|
*
|
||||||
* @param DrydockBlueprint Concrete blueprint to allocate for.
|
* @param DrydockBlueprint Concrete blueprint to allocate for.
|
||||||
* @param DrydockResource Candidiate resource to allocate the lease on.
|
* @param DrydockResource Candidate resource to allocate the lease on.
|
||||||
* @param DrydockLease Pending lease that wants to allocate here.
|
* @param DrydockLease Pending lease that wants to allocate here.
|
||||||
* @return bool True if the resource and lease are compatible.
|
* @return bool True if the resource and lease are compatible.
|
||||||
* @task lease
|
* @task lease
|
||||||
|
@ -76,7 +76,7 @@ abstract class DrydockBlueprintImplementation extends Phobject {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Acquire a lease. Allows resources to peform setup as leases are brought
|
* Acquire a lease. Allows resources to perform setup as leases are brought
|
||||||
* online.
|
* online.
|
||||||
*
|
*
|
||||||
* If acquisition fails, throw an exception.
|
* If acquisition fails, throw an exception.
|
||||||
|
|
|
@ -100,7 +100,7 @@ final class DrydockAuthorization extends DrydockDAO
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply external authorization effects after a user chagnes the value of a
|
* Apply external authorization effects after a user changes the value of a
|
||||||
* blueprint selector control an object.
|
* blueprint selector control an object.
|
||||||
*
|
*
|
||||||
* @param PhabricatorUser User applying the change.
|
* @param PhabricatorUser User applying the change.
|
||||||
|
|
|
@ -241,7 +241,7 @@ final class DrydockLeaseUpdateWorker extends DrydockWorker {
|
||||||
// NOTE: We have not acquired the lease yet, so it is possible that the
|
// NOTE: We have not acquired the lease yet, so it is possible that the
|
||||||
// resource we just built will be snatched up by some other lease before
|
// resource we just built will be snatched up by some other lease before
|
||||||
// we can acquire it. This is not problematic: we'll retry a little later
|
// we can acquire it. This is not problematic: we'll retry a little later
|
||||||
// and should suceed eventually.
|
// and should succeed eventually.
|
||||||
}
|
}
|
||||||
|
|
||||||
$resources = $this->rankResources($resources, $lease);
|
$resources = $this->rankResources($resources, $lease);
|
||||||
|
@ -261,7 +261,7 @@ final class DrydockLeaseUpdateWorker extends DrydockWorker {
|
||||||
if (!$allocated) {
|
if (!$allocated) {
|
||||||
throw new PhutilAggregateException(
|
throw new PhutilAggregateException(
|
||||||
pht(
|
pht(
|
||||||
'Unable to acquire lease "%s" on any resouce.',
|
'Unable to acquire lease "%s" on any resource.',
|
||||||
$lease->getPHID()),
|
$lease->getPHID()),
|
||||||
$exceptions);
|
$exceptions);
|
||||||
}
|
}
|
||||||
|
@ -725,7 +725,7 @@ final class DrydockLeaseUpdateWorker extends DrydockWorker {
|
||||||
// performed the read above and now, the resource might have closed, so
|
// performed the read above and now, the resource might have closed, so
|
||||||
// we may activate leases on dead resources. At least for now, this seems
|
// we may activate leases on dead resources. At least for now, this seems
|
||||||
// fine: a resource dying right before we activate a lease on it should not
|
// fine: a resource dying right before we activate a lease on it should not
|
||||||
// be distinguisahble from a resource dying right after we activate a lease
|
// be distinguishable from a resource dying right after we activate a lease
|
||||||
// on it. We end up with an active lease on a dead resource either way, and
|
// on it. We end up with an active lease on a dead resource either way, and
|
||||||
// can not prevent resources dying from lightning strikes.
|
// can not prevent resources dying from lightning strikes.
|
||||||
|
|
||||||
|
|
|
@ -199,7 +199,7 @@ abstract class DrydockWorker extends PhabricatorWorker {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
// Don't reclaim a resource if it has been updated recently. If two
|
// Don't reclaim a resource if it has been updated recently. If two
|
||||||
// leases are fighting, we don't want them to keep reclaming resources
|
// leases are fighting, we don't want them to keep reclaiming resources
|
||||||
// from one another forever without making progress, so make resources
|
// from one another forever without making progress, so make resources
|
||||||
// immune to reclamation for a little while after they activate or update.
|
// immune to reclamation for a little while after they activate or update.
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@ final class PhabricatorFileDataController extends PhabricatorFileController {
|
||||||
// make this logic simpler and more consistent.
|
// make this logic simpler and more consistent.
|
||||||
|
|
||||||
// Beyond making the policy check itself more consistent, this also makes
|
// Beyond making the policy check itself more consistent, this also makes
|
||||||
// sure we're consitent about returning HTTP 404 on bad requests instead
|
// sure we're consistent about returning HTTP 404 on bad requests instead
|
||||||
// of serving HTTP 200 with a login page, which can mislead some clients.
|
// of serving HTTP 200 with a login page, which can mislead some clients.
|
||||||
|
|
||||||
$viewer = PhabricatorUser::getOmnipotentUser();
|
$viewer = PhabricatorUser::getOmnipotentUser();
|
||||||
|
|
|
@ -24,7 +24,7 @@ final class PhabricatorFilesManagementCatWorkflow
|
||||||
'help' => pht(
|
'help' => pht(
|
||||||
'DANGEROUS. Attempt to salvage file content even if the '.
|
'DANGEROUS. Attempt to salvage file content even if the '.
|
||||||
'integrity check fails. If an adversary has tampered with '.
|
'integrity check fails. If an adversary has tampered with '.
|
||||||
'the file, the conent may be unsafe.'),
|
'the file, the content may be unsafe.'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'name' => 'names',
|
'name' => 'names',
|
||||||
|
|
|
@ -50,7 +50,7 @@ final class FundInitiativeEditEngine
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getObjectName() {
|
protected function getObjectName() {
|
||||||
return pht('Initivative');
|
return pht('Initiative');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getObjectCreateCancelURI($object) {
|
protected function getObjectCreateCancelURI($object) {
|
||||||
|
|
|
@ -142,7 +142,7 @@ final class HarbormasterSendMessageConduitAPIMethod
|
||||||
"=============\n".
|
"=============\n".
|
||||||
"When you send Harbormaster a message, you must include a `type`, ".
|
"When you send Harbormaster a message, you must include a `type`, ".
|
||||||
"which describes the overall state of the build. For example, use ".
|
"which describes the overall state of the build. For example, use ".
|
||||||
"`pass` to tell Harbomaster that a build completed successfully.".
|
"`pass` to tell Harbormaster that a build completed successfully.".
|
||||||
"\n\n".
|
"\n\n".
|
||||||
"Supported message types are:".
|
"Supported message types are:".
|
||||||
"\n\n".
|
"\n\n".
|
||||||
|
@ -155,7 +155,7 @@ final class HarbormasterSendMessageConduitAPIMethod
|
||||||
"message, but you can also send a `work` message to report intermediate ".
|
"message, but you can also send a `work` message to report intermediate ".
|
||||||
"results.\n\n".
|
"results.\n\n".
|
||||||
"To provide unit test results, pass a list of results in the `unit` ".
|
"To provide unit test results, pass a list of results in the `unit` ".
|
||||||
"parameter. Each result shoud be a dictionary with these keys:".
|
"parameter. Each result should be a dictionary with these keys:".
|
||||||
"\n\n".
|
"\n\n".
|
||||||
"%s".
|
"%s".
|
||||||
"\n\n".
|
"\n\n".
|
||||||
|
|
|
@ -38,7 +38,7 @@ final class HarbormasterBuildStep extends HarbormasterDAO
|
||||||
// T6203/NULLABILITY
|
// T6203/NULLABILITY
|
||||||
// This should not be nullable. Current `null` values indicate steps
|
// This should not be nullable. Current `null` values indicate steps
|
||||||
// which predated editable names. These should be backfilled with
|
// which predated editable names. These should be backfilled with
|
||||||
// default names, then the code for handling `null` shoudl be removed.
|
// default names, then the code for handling `null` should be removed.
|
||||||
'name' => 'text255?',
|
'name' => 'text255?',
|
||||||
'stepAutoKey' => 'text32?',
|
'stepAutoKey' => 'text32?',
|
||||||
),
|
),
|
||||||
|
|
|
@ -236,7 +236,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
|
||||||
|
|
||||||
// Use the last content update as the modified date. We don't want to
|
// Use the last content update as the modified date. We don't want to
|
||||||
// show that a document like a TOS was "updated" by an incidental change
|
// show that a document like a TOS was "updated" by an incidental change
|
||||||
// to a field like the preamble or privacy settings which does not acutally
|
// to a field like the preamble or privacy settings which does not actually
|
||||||
// affect the content of the agreement.
|
// affect the content of the agreement.
|
||||||
$content_updated = $document_body->getDateCreated();
|
$content_updated = $document_body->getDateCreated();
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,7 @@ final class ManiphestReportController extends ManiphestController {
|
||||||
case ManiphestTaskMergedIntoTransaction::TRANSACTIONTYPE:
|
case ManiphestTaskMergedIntoTransaction::TRANSACTIONTYPE:
|
||||||
// NOTE: Merging a task does not generate a "status" transaction.
|
// NOTE: Merging a task does not generate a "status" transaction.
|
||||||
// We pretend it did. Note that this is not always accurate: it is
|
// We pretend it did. Note that this is not always accurate: it is
|
||||||
// possble to merge a task which was previously closed, but this
|
// possible to merge a task which was previously closed, but this
|
||||||
// fake transaction always counts a merge as a closure.
|
// fake transaction always counts a merge as a closure.
|
||||||
$oldv = $default_status;
|
$oldv = $default_status;
|
||||||
$newv = $duplicate_status;
|
$newv = $duplicate_status;
|
||||||
|
@ -762,7 +762,7 @@ final class ManiphestReportController extends ManiphestController {
|
||||||
// and equal distance in the past. This is so users can type "6 days" (which
|
// and equal distance in the past. This is so users can type "6 days" (which
|
||||||
// means "6 days from now") and get the behavior of "6 days ago", rather
|
// means "6 days from now") and get the behavior of "6 days ago", rather
|
||||||
// than no results (because the window epoch is in the future). This might
|
// than no results (because the window epoch is in the future). This might
|
||||||
// be a little confusing because it casues "tomorrow" to mean "yesterday"
|
// be a little confusing because it causes "tomorrow" to mean "yesterday"
|
||||||
// and "2022" (or whatever) to mean "ten years ago", but these inputs are
|
// and "2022" (or whatever) to mean "ten years ago", but these inputs are
|
||||||
// nonsense anyway.
|
// nonsense anyway.
|
||||||
|
|
||||||
|
|
|
@ -972,7 +972,7 @@ final class ManiphestTransactionEditor
|
||||||
|
|
||||||
$object_phid = $object->getPHID();
|
$object_phid = $object->getPHID();
|
||||||
|
|
||||||
// We're doing layout with the ominpotent viewer to make sure we don't
|
// We're doing layout with the omnipotent viewer to make sure we don't
|
||||||
// remove positions in columns that exist, but which the actual actor
|
// remove positions in columns that exist, but which the actual actor
|
||||||
// can't see.
|
// can't see.
|
||||||
$omnipotent_viewer = PhabricatorUser::getOmnipotentUser();
|
$omnipotent_viewer = PhabricatorUser::getOmnipotentUser();
|
||||||
|
|
|
@ -63,7 +63,7 @@ final class PhabricatorMailManagementUnverifyWorkflow
|
||||||
echo tsprintf(
|
echo tsprintf(
|
||||||
"%s\n",
|
"%s\n",
|
||||||
pht(
|
pht(
|
||||||
'Address "%s" (owned by "%s") is already unveriifed.',
|
'Address "%s" (owned by "%s") is already unverified.',
|
||||||
$address,
|
$address,
|
||||||
$user->getUsername()));
|
$user->getUsername()));
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -255,7 +255,7 @@ abstract class PhabricatorMailReceiver extends Phobject {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reduce an email address to its canonical form. For example, an adddress
|
* Reduce an email address to its canonical form. For example, an address
|
||||||
* like:
|
* like:
|
||||||
*
|
*
|
||||||
* "Abraham Lincoln" < ALincoln@example.com >
|
* "Abraham Lincoln" < ALincoln@example.com >
|
||||||
|
|
|
@ -82,7 +82,7 @@ final class PhabricatorOwnersPackageTestCase extends PhabricatorTestCase {
|
||||||
|
|
||||||
// Now, add a more specific path to Package #1. This tests nested ownership
|
// Now, add a more specific path to Package #1. This tests nested ownership
|
||||||
// in packages with weak dominion rules. This time, Package #1 should end
|
// in packages with weak dominion rules. This time, Package #1 should end
|
||||||
// up back on top, with Package #2 cedeing control to its more specific
|
// up back on top, with Package #2 ceding control to its more specific
|
||||||
// path.
|
// path.
|
||||||
$rows[] = array(
|
$rows[] = array(
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
|
|
|
@ -104,7 +104,7 @@ abstract class PassphraseCredentialType extends Phobject {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if the provided credental requires a password to decrypt.
|
* Return true if the provided credential requires a password to decrypt.
|
||||||
*
|
*
|
||||||
* @param PhutilOpaqueEnvelope Credential secret value.
|
* @param PhutilOpaqueEnvelope Credential secret value.
|
||||||
* @return bool True if the credential needs a password.
|
* @return bool True if the credential needs a password.
|
||||||
|
|
|
@ -47,7 +47,7 @@ final class PassphraseSSHPrivateKeyTextCredentialType
|
||||||
pht(
|
pht(
|
||||||
'Decrypting SSH keys requires the `%s` binary, but it '.
|
'Decrypting SSH keys requires the `%s` binary, but it '.
|
||||||
'is not available in %s. Either make it available or strip the '.
|
'is not available in %s. Either make it available or strip the '.
|
||||||
'password fromt his SSH key manually before uploading it.',
|
'password from this SSH key manually before uploading it.',
|
||||||
'ssh-keygen',
|
'ssh-keygen',
|
||||||
'$PATH'));
|
'$PATH'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ final class PassphraseCredentialControl extends AphrontFormControl {
|
||||||
$user_credential->getName());
|
$user_credential->getName());
|
||||||
}
|
}
|
||||||
} catch (PhabricatorPolicyException $policy_exception) {
|
} catch (PhabricatorPolicyException $policy_exception) {
|
||||||
// Pull the credential with the ominipotent viewer so we can look up
|
// Pull the credential with the omnipotent viewer so we can look up
|
||||||
// the ID and provide the monogram.
|
// the ID and provide the monogram.
|
||||||
$omnipotent_credential = id(new PassphraseCredentialQuery())
|
$omnipotent_credential = id(new PassphraseCredentialQuery())
|
||||||
->setViewer(PhabricatorUser::getOmnipotentUser())
|
->setViewer(PhabricatorUser::getOmnipotentUser())
|
||||||
|
|
|
@ -10,7 +10,7 @@ final class PhabricatorMentionRemarkupRule extends PhutilRemarkupRule {
|
||||||
|
|
||||||
// NOTE: The negative lookbehind prevents matches like "mail@lists", while
|
// NOTE: The negative lookbehind prevents matches like "mail@lists", while
|
||||||
// allowing constructs like "@tomo/@mroch". Since we now allow periods in
|
// allowing constructs like "@tomo/@mroch". Since we now allow periods in
|
||||||
// usernames, we can't resonably distinguish that "@company.com" isn't a
|
// usernames, we can't reasonably distinguish that "@company.com" isn't a
|
||||||
// username, so we'll incorrectly pick it up, but there's little to be done
|
// username, so we'll incorrectly pick it up, but there's little to be done
|
||||||
// about that. We forbid terminal periods so that we can correctly capture
|
// about that. We forbid terminal periods so that we can correctly capture
|
||||||
// "@joe" instead of "@joe." in "Hey, @joe.".
|
// "@joe" instead of "@joe." in "Hey, @joe.".
|
||||||
|
|
|
@ -425,7 +425,7 @@ final class PhabricatorPeopleQuery
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the user is set to "Available" for this event, don't consider it
|
// If the user is set to "Available" for this event, don't consider it
|
||||||
// when computin their away status.
|
// when computing their away status.
|
||||||
if (!$invitee->getDisplayAvailability($event)) {
|
if (!$invitee->getDisplayAvailability($event)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -492,7 +492,7 @@ final class PhabricatorPeopleQuery
|
||||||
// valid for that long.
|
// valid for that long.
|
||||||
|
|
||||||
// NOTE: This doesn't handle overlapping events with the greatest
|
// NOTE: This doesn't handle overlapping events with the greatest
|
||||||
// possible care. In theory, if you're attenting multiple events
|
// possible care. In theory, if you're attending multiple events
|
||||||
// simultaneously we should accommodate that. However, it's complex
|
// simultaneously we should accommodate that. However, it's complex
|
||||||
// to compute, rare, and probably not confusing most of the time.
|
// to compute, rare, and probably not confusing most of the time.
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ final class PhabricatorPeopleSearchEngine
|
||||||
->setOptions(
|
->setOptions(
|
||||||
pht('(Show All)'),
|
pht('(Show All)'),
|
||||||
pht('Show Only Unapproved Users'),
|
pht('Show Only Unapproved Users'),
|
||||||
pht('Hide Unappproved Users'))
|
pht('Hide Unapproved Users'))
|
||||||
->setDescription(
|
->setDescription(
|
||||||
pht(
|
pht(
|
||||||
'Pass true to find only users awaiting administrative approval, '.
|
'Pass true to find only users awaiting administrative approval, '.
|
||||||
|
|
|
@ -407,7 +407,7 @@ final class PhabricatorUser
|
||||||
$token = substr($token, $breach_prelen + self::CSRF_SALT_LENGTH);
|
$token = substr($token, $breach_prelen + self::CSRF_SALT_LENGTH);
|
||||||
|
|
||||||
// When the user posts a form, we check that it contains a valid CSRF token.
|
// When the user posts a form, we check that it contains a valid CSRF token.
|
||||||
// Tokens cycle each hour (every CSRF_CYLCE_FREQUENCY seconds) and we accept
|
// Tokens cycle each hour (every CSRF_CYCLE_FREQUENCY seconds) and we accept
|
||||||
// either the current token, the next token (users can submit a "future"
|
// either the current token, the next token (users can submit a "future"
|
||||||
// token if you have two web frontends that have some clock skew) or any of
|
// token if you have two web frontends that have some clock skew) or any of
|
||||||
// the last 6 tokens. This means that pages are valid for up to 7 hours.
|
// the last 6 tokens. This means that pages are valid for up to 7 hours.
|
||||||
|
@ -1180,7 +1180,7 @@ final class PhabricatorUser
|
||||||
/**
|
/**
|
||||||
* Get a scalar string identifying this user.
|
* Get a scalar string identifying this user.
|
||||||
*
|
*
|
||||||
* This is similar to using the PHID, but distinguishes between ominpotent
|
* This is similar to using the PHID, but distinguishes between omnipotent
|
||||||
* and public users explicitly. This allows safe construction of cache keys
|
* and public users explicitly. This allows safe construction of cache keys
|
||||||
* or cache buckets which do not conflate public and omnipotent users.
|
* or cache buckets which do not conflate public and omnipotent users.
|
||||||
*
|
*
|
||||||
|
@ -1459,7 +1459,7 @@ final class PhabricatorUser
|
||||||
id(new PhabricatorConduitSearchFieldSpecification())
|
id(new PhabricatorConduitSearchFieldSpecification())
|
||||||
->setKey('roles')
|
->setKey('roles')
|
||||||
->setType('list<string>')
|
->setType('list<string>')
|
||||||
->setDescription(pht('List of acccount roles.')),
|
->setDescription(pht('List of account roles.')),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ final class PhabricatorHandleList
|
||||||
if (!isset($this[$phid])) {
|
if (!isset($this[$phid])) {
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Trying to create a new sublist of an existsing handle list, '.
|
'Trying to create a new sublist of an existing handle list, '.
|
||||||
'but PHID "%s" does not appear in the parent list.',
|
'but PHID "%s" does not appear in the parent list.',
|
||||||
$phid));
|
$phid));
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/**
|
/**
|
||||||
* Resolve a list of identifiers into PHIDs.
|
* Resolve a list of identifiers into PHIDs.
|
||||||
*
|
*
|
||||||
* This class simplifies the process of convering a list of mixed token types
|
* This class simplifies the process of converting a list of mixed token types
|
||||||
* (like some PHIDs and some usernames) into a list of just PHIDs.
|
* (like some PHIDs and some usernames) into a list of just PHIDs.
|
||||||
*/
|
*/
|
||||||
abstract class PhabricatorPHIDResolver extends Phobject {
|
abstract class PhabricatorPHIDResolver extends Phobject {
|
||||||
|
|
|
@ -361,7 +361,7 @@ final class PhortuneStripePaymentProvider extends PhortunePaymentProvider {
|
||||||
case 'error:duplicate_transaction':
|
case 'error:duplicate_transaction':
|
||||||
case 'error:processing_error':
|
case 'error:processing_error':
|
||||||
default:
|
default:
|
||||||
// NOTE: These errors currently don't recevive a detailed message.
|
// NOTE: These errors currently don't receive a detailed message.
|
||||||
// NOTE: We can also end up here with "http:nnn" messages.
|
// NOTE: We can also end up here with "http:nnn" messages.
|
||||||
|
|
||||||
// TODO: At least some of these should have a better message, or be
|
// TODO: At least some of these should have a better message, or be
|
||||||
|
|
|
@ -124,7 +124,7 @@ final class PhrequentTimeBlock extends Phobject {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Here, we've prematurely ended a deeper stratum. Merge higher
|
// Here, we've prematurely ended a deeper stratum. Merge higher
|
||||||
// stata. This looks like this:
|
// strata. This looks like this:
|
||||||
//
|
//
|
||||||
// V
|
// V
|
||||||
// V
|
// V
|
||||||
|
|
|
@ -452,7 +452,7 @@ final class PhrictionTransactionEditor
|
||||||
$verb) {
|
$verb) {
|
||||||
|
|
||||||
$errors = array();
|
$errors = array();
|
||||||
// NOTE: We use the ominpotent user for these checks because policy
|
// NOTE: We use the omnipotent user for these checks because policy
|
||||||
// doesn't matter; existence does.
|
// doesn't matter; existence does.
|
||||||
$other_doc_viewer = PhabricatorUser::getOmnipotentUser();
|
$other_doc_viewer = PhabricatorUser::getOmnipotentUser();
|
||||||
$ancestral_slugs = PhabricatorSlug::getAncestry($object->getSlug());
|
$ancestral_slugs = PhabricatorSlug::getAncestry($object->getSlug());
|
||||||
|
|
|
@ -257,7 +257,7 @@ final class PhabricatorPolicyFilter extends Phobject {
|
||||||
$filtered[$key] = $object;
|
$filtered[$key] = $object;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we survied the primary checks, apply extended checks to objects
|
// If we survived the primary checks, apply extended checks to objects
|
||||||
// with extended policies.
|
// with extended policies.
|
||||||
$results = array();
|
$results = array();
|
||||||
$extended = array();
|
$extended = array();
|
||||||
|
|
|
@ -97,7 +97,7 @@ final class PhabricatorProjectColumnQuery
|
||||||
if ($proxy_phid !== null) {
|
if ($proxy_phid !== null) {
|
||||||
$proxy = idx($proxies, $proxy_phid);
|
$proxy = idx($proxies, $proxy_phid);
|
||||||
|
|
||||||
// Only attach valid proxies, so we don't end up getting surprsied if
|
// Only attach valid proxies, so we don't end up getting surprised if
|
||||||
// an install somehow gets junk into their database.
|
// an install somehow gets junk into their database.
|
||||||
if (!($proxy instanceof PhabricatorColumnProxyInterface)) {
|
if (!($proxy instanceof PhabricatorColumnProxyInterface)) {
|
||||||
$proxy = null;
|
$proxy = null;
|
||||||
|
|
|
@ -24,7 +24,7 @@ final class ProjectRemarkupRule extends PhabricatorObjectRemarkupRule {
|
||||||
protected function getObjectIDPattern() {
|
protected function getObjectIDPattern() {
|
||||||
// NOTE: The latter half of this rule matches monograms with internal
|
// NOTE: The latter half of this rule matches monograms with internal
|
||||||
// periods, like `#domain.com`, but does not match monograms with terminal
|
// periods, like `#domain.com`, but does not match monograms with terminal
|
||||||
// periods, because they're probably just puncutation.
|
// periods, because they're probably just punctuation.
|
||||||
|
|
||||||
// Broadly, this will not match every possible project monogram, and we
|
// Broadly, this will not match every possible project monogram, and we
|
||||||
// accept some false negatives -- like `#dot.` -- in order to avoid a bunch
|
// accept some false negatives -- like `#dot.` -- in order to avoid a bunch
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* 1: To parse "Releeph: picks RQ<nn>" headers in commits created by
|
* 1: To parse "Releeph: picks RQ<nn>" headers in commits created by
|
||||||
* arc-releeph so that RQs committed by arc-releeph have real
|
* arc-releeph so that RQs committed by arc-releeph have real
|
||||||
* PhabricatorRepositoryCommits associated with them (instaed of just the SHA
|
* PhabricatorRepositoryCommits associated with them (instead of just the SHA
|
||||||
* of the commit, as seen by the pusher).
|
* of the commit, as seen by the pusher).
|
||||||
*
|
*
|
||||||
* 2: If requestors want to commit directly to their release branch, they can
|
* 2: If requestors want to commit directly to their release branch, they can
|
||||||
|
|
|
@ -7,7 +7,7 @@ final class ReleephDefaultFieldSelector extends ReleephFieldSelector {
|
||||||
*
|
*
|
||||||
* TODO: This is a giant hacky mess because I am dumb and moved forward on
|
* TODO: This is a giant hacky mess because I am dumb and moved forward on
|
||||||
* Releeph changes with partial information. Recover from this as gracefully
|
* Releeph changes with partial information. Recover from this as gracefully
|
||||||
* as possible. This obivously is an abomination. -epriestley
|
* as possible. This obviously is an abomination. -epriestley
|
||||||
*/
|
*/
|
||||||
public static function isFacebook() {
|
public static function isFacebook() {
|
||||||
return class_exists('ReleephFacebookKarmaFieldSpecification');
|
return class_exists('ReleephFacebookKarmaFieldSpecification');
|
||||||
|
|
|
@ -113,7 +113,7 @@ final class PhabricatorMercurialGraphStream
|
||||||
private function parseParents($parents, $target_rev) {
|
private function parseParents($parents, $target_rev) {
|
||||||
|
|
||||||
// The hg '{parents}' token is empty if there is one "natural" parent
|
// The hg '{parents}' token is empty if there is one "natural" parent
|
||||||
// (predecessor local commit ID). Othwerwise, it may have one or two
|
// (predecessor local commit ID). Otherwise, it may have one or two
|
||||||
// parents. The string looks like this:
|
// parents. The string looks like this:
|
||||||
//
|
//
|
||||||
// 151:1f6c61a60586 154:1d5f799ebe1e
|
// 151:1f6c61a60586 154:1d5f799ebe1e
|
||||||
|
|
|
@ -27,10 +27,10 @@
|
||||||
* // URIs are very unlikely to be the same repository.
|
* // URIs are very unlikely to be the same repository.
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* Because a repository can be hosted at arbitrarly many arbitrary URIs, there
|
* Because a repository can be hosted at arbitrarily many arbitrary URIs, there
|
||||||
* is no way to completely prevent false negatives by only examining URIs
|
* is no way to completely prevent false negatives by only examining URIs
|
||||||
* (that is, repositories with totally different URIs could really be the same).
|
* (that is, repositories with totally different URIs could really be the same).
|
||||||
* However, normalization is relatively agressive and false negatives should
|
* However, normalization is relatively aggressive and false negatives should
|
||||||
* be rare: if normalization says two URIs are different repositories, they
|
* be rare: if normalization says two URIs are different repositories, they
|
||||||
* probably are.
|
* probably are.
|
||||||
*
|
*
|
||||||
|
|
|
@ -703,7 +703,7 @@ final class PhabricatorRepositoryDiscoveryEngine
|
||||||
// new repository for the first time is less important than any other
|
// new repository for the first time is less important than any other
|
||||||
// daemon task.
|
// daemon task.
|
||||||
|
|
||||||
// If the repostitory has finished importing and we're just catching up
|
// If the repository has finished importing and we're just catching up
|
||||||
// on recent commits, we schedule discovery at COMMIT priority, which is
|
// on recent commits, we schedule discovery at COMMIT priority, which is
|
||||||
// slightly below the default priority.
|
// slightly below the default priority.
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ final class PhabricatorRepositoryManagementThawWorkflow
|
||||||
$risk_message);
|
$risk_message);
|
||||||
|
|
||||||
$is_force = $args->getArg('force');
|
$is_force = $args->getArg('force');
|
||||||
$prompt = pht('Accept the possibilty of permanent data loss?');
|
$prompt = pht('Accept the possibility of permanent data loss?');
|
||||||
if (!$is_force && !phutil_console_confirm($prompt)) {
|
if (!$is_force && !phutil_console_confirm($prompt)) {
|
||||||
throw new PhutilArgumentUsageException(
|
throw new PhutilArgumentUsageException(
|
||||||
pht('User aborted the workflow.'));
|
pht('User aborted the workflow.'));
|
||||||
|
|
|
@ -1875,7 +1875,7 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the sevice URI for the device hosting this repository.
|
* Retrieve the service URI for the device hosting this repository.
|
||||||
*
|
*
|
||||||
* See @{method:newConduitClient} for a general discussion of interacting
|
* See @{method:newConduitClient} for a general discussion of interacting
|
||||||
* with repository services. This method provides lower-level resolution of
|
* with repository services. This method provides lower-level resolution of
|
||||||
|
@ -2129,7 +2129,7 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO
|
||||||
if ($this->isGit()) {
|
if ($this->isGit()) {
|
||||||
// $_ENV does not populate in CLI contexts if "E" is missing from
|
// $_ENV does not populate in CLI contexts if "E" is missing from
|
||||||
// "variables_order" in PHP config. Currently, we do not require this
|
// "variables_order" in PHP config. Currently, we do not require this
|
||||||
// to be configured. Since it may not be, explictitly bring expected Git
|
// to be configured. Since it may not be, explicitly bring expected Git
|
||||||
// environmental variables into scope. This list is not exhaustive, but
|
// environmental variables into scope. This list is not exhaustive, but
|
||||||
// only lists variables with a known impact on commit hook behavior.
|
// only lists variables with a known impact on commit hook behavior.
|
||||||
|
|
||||||
|
|
|
@ -362,7 +362,7 @@ final class PhabricatorRepositoryURI
|
||||||
return PhabricatorEnv::getEnvConfig('diffusion.ssh-port');
|
return PhabricatorEnv::getEnvConfig('diffusion.ssh-port');
|
||||||
}
|
}
|
||||||
|
|
||||||
// If Phabricator is running on a nonstandard port, use that as the defualt
|
// If Phabricator is running on a nonstandard port, use that as the default
|
||||||
// port for URIs with the same protocol.
|
// port for URIs with the same protocol.
|
||||||
|
|
||||||
$is_http = ($protocol == self::BUILTIN_PROTOCOL_HTTP);
|
$is_http = ($protocol == self::BUILTIN_PROTOCOL_HTTP);
|
||||||
|
|
|
@ -66,7 +66,7 @@ final class PhabricatorRepositoryWorkingCopyVersion
|
||||||
* may have committed and acknowledged a write on a node that lost the lock
|
* may have committed and acknowledged a write on a node that lost the lock
|
||||||
* partway through the write and is no longer reachable.
|
* partway through the write and is no longer reachable.
|
||||||
*
|
*
|
||||||
* In particular, if a node loses its connection to the datbase the global
|
* In particular, if a node loses its connection to the database the global
|
||||||
* lock is released by default. This is a durable lock which stays locked
|
* lock is released by default. This is a durable lock which stays locked
|
||||||
* by default.
|
* by default.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -216,7 +216,7 @@ final class PhabricatorRepositoryMercurialCommitChangeParserWorker
|
||||||
$changes[$path]['changeType']
|
$changes[$path]['changeType']
|
||||||
= DifferentialChangeType::TYPE_COPY_AWAY;
|
= DifferentialChangeType::TYPE_COPY_AWAY;
|
||||||
} else if ($existing_type == DifferentialChangeType::TYPE_ADD) {
|
} else if ($existing_type == DifferentialChangeType::TYPE_ADD) {
|
||||||
// This change removes a diretory and replaces it with a file. Mark
|
// This change removes a directory and replaces it with a file. Mark
|
||||||
// it as "change" instead of "add".
|
// it as "change" instead of "add".
|
||||||
$changes[$path]['changeType'] = DifferentialChangeType::TYPE_CHANGE;
|
$changes[$path]['changeType'] = DifferentialChangeType::TYPE_CHANGE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -359,7 +359,7 @@ abstract class PhabricatorApplicationSearchEngine extends Phobject {
|
||||||
* );
|
* );
|
||||||
*
|
*
|
||||||
* Any unspecified fields (including custom fields and fields added
|
* Any unspecified fields (including custom fields and fields added
|
||||||
* automatically by infrastruture) will be put in the middle.
|
* automatically by infrastructure) will be put in the middle.
|
||||||
*
|
*
|
||||||
* @return list<string> Default ordering for field keys.
|
* @return list<string> Default ordering for field keys.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -5,7 +5,7 @@ abstract class PhabricatorSearchManagementWorkflow
|
||||||
|
|
||||||
protected function validateClusterSearchConfig() {
|
protected function validateClusterSearchConfig() {
|
||||||
// Configuration is normally validated by setup self-checks on the web
|
// Configuration is normally validated by setup self-checks on the web
|
||||||
// workflow, but users may reasonsably run `bin/search` commands after
|
// workflow, but users may reasonably run `bin/search` commands after
|
||||||
// making manual edits to "local.json". Re-verify configuration here before
|
// making manual edits to "local.json". Re-verify configuration here before
|
||||||
// continuing.
|
// continuing.
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ final class PhabricatorMotivatorProfileMenuItem
|
||||||
private function getCatFacts() {
|
private function getCatFacts() {
|
||||||
return array(
|
return array(
|
||||||
pht('Cats purr when they are happy, upset, or asleep.'),
|
pht('Cats purr when they are happy, upset, or asleep.'),
|
||||||
pht('The first cats evolved on the savanah about 8,000 years ago.'),
|
pht('The first cats evolved on the savannah about 8,000 years ago.'),
|
||||||
pht(
|
pht(
|
||||||
'Cats have a tail, two feet, between one and three ears, and two '.
|
'Cats have a tail, two feet, between one and three ears, and two '.
|
||||||
'other feet.'),
|
'other feet.'),
|
||||||
|
@ -111,7 +111,7 @@ final class PhabricatorMotivatorProfileMenuItem
|
||||||
pht(
|
pht(
|
||||||
'Not all cats can retract their claws, but most of them can.'),
|
'Not all cats can retract their claws, but most of them can.'),
|
||||||
pht(
|
pht(
|
||||||
'In the wild, cats and racoons sometimes hunt together in packs.'),
|
'In the wild, cats and raccoons sometimes hunt together in packs.'),
|
||||||
pht(
|
pht(
|
||||||
'The Spanish word for cat is "cato". The biggest cat is called '.
|
'The Spanish word for cat is "cato". The biggest cat is called '.
|
||||||
'"el cato".'),
|
'"el cato".'),
|
||||||
|
|
|
@ -143,7 +143,7 @@ abstract class PhabricatorSettingsPanel extends Phobject {
|
||||||
/**
|
/**
|
||||||
* Return false to prevent this panel from being displayed or used. You can
|
* Return false to prevent this panel from being displayed or used. You can
|
||||||
* do, e.g., configuration checks here, to determine if the feature your
|
* do, e.g., configuration checks here, to determine if the feature your
|
||||||
* panel controls is unavailble in this install. By default, all panels are
|
* panel controls is unavailable in this install. By default, all panels are
|
||||||
* enabled.
|
* enabled.
|
||||||
*
|
*
|
||||||
* @return bool True if the panel should be shown.
|
* @return bool True if the panel should be shown.
|
||||||
|
|
|
@ -49,7 +49,7 @@ final class PhabricatorUserPreferencesQuery
|
||||||
* If no settings exist for a user, a new empty settings object with
|
* If no settings exist for a user, a new empty settings object with
|
||||||
* appropriate defaults is returned.
|
* appropriate defaults is returned.
|
||||||
*
|
*
|
||||||
* @param bool True to generat synthetic preferences for missing users.
|
* @param bool True to generate synthetic preferences for missing users.
|
||||||
*/
|
*/
|
||||||
public function needSyntheticPreferences($synthetic) {
|
public function needSyntheticPreferences($synthetic) {
|
||||||
$this->synthetic = $synthetic;
|
$this->synthetic = $synthetic;
|
||||||
|
|
|
@ -46,7 +46,7 @@ final class PhabricatorTimezoneSetting
|
||||||
|
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Timezone "%s" is not a valid timezone identiifer.',
|
'Timezone "%s" is not a valid timezone identifier.',
|
||||||
$value));
|
$value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ final class PhabricatorSubscriptionsEditController
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// TODO: Eventually, get rid of this once everything implements
|
// TODO: Eventually, get rid of this once everything implements
|
||||||
// PhabriatorApplicationTransactionInterface.
|
// PhabricatorApplicationTransactionInterface.
|
||||||
|
|
||||||
$editor = id(new PhabricatorSubscriptionsEditor())
|
$editor = id(new PhabricatorSubscriptionsEditor())
|
||||||
->setActor($viewer)
|
->setActor($viewer)
|
||||||
|
|
|
@ -763,7 +763,7 @@ abstract class PhabricatorEditEngine
|
||||||
* Load an object given a configured query.
|
* Load an object given a configured query.
|
||||||
*
|
*
|
||||||
* @param PhabricatorPolicyAwareQuery Configured query.
|
* @param PhabricatorPolicyAwareQuery Configured query.
|
||||||
* @param list<const> List of required capabilitiy constants, or omit for
|
* @param list<const> List of required capability constants, or omit for
|
||||||
* defaults.
|
* defaults.
|
||||||
* @return object|null Object, or null if no such object exists.
|
* @return object|null Object, or null if no such object exists.
|
||||||
* @task load
|
* @task load
|
||||||
|
@ -1382,7 +1382,7 @@ abstract class PhabricatorEditEngine
|
||||||
* and that field is visible and editable for the user.
|
* and that field is visible and editable for the user.
|
||||||
*
|
*
|
||||||
* For example, you can use it to test if a user is able to reassign tasks
|
* For example, you can use it to test if a user is able to reassign tasks
|
||||||
* or not, prior to rendering dedicated UI for task reassingment.
|
* or not, prior to rendering dedicated UI for task reassignment.
|
||||||
*
|
*
|
||||||
* Note that this method does NOT test if the user can actually edit the
|
* Note that this method does NOT test if the user can actually edit the
|
||||||
* current object, just if they have access to the related field.
|
* current object, just if they have access to the related field.
|
||||||
|
|
|
@ -3701,7 +3701,7 @@ abstract class PhabricatorApplicationTransactionEditor
|
||||||
|
|
||||||
// If a later project in the list is an ancestor of this one, it will
|
// If a later project in the list is an ancestor of this one, it will
|
||||||
// have added itself to the map. If any ancestor of this project points
|
// have added itself to the map. If any ancestor of this project points
|
||||||
// at itself in the map, this project should be dicarded in favor of
|
// at itself in the map, this project should be discarded in favor of
|
||||||
// that later ancestor.
|
// that later ancestor.
|
||||||
foreach ($project->getAncestorProjects() as $ancestor) {
|
foreach ($project->getAncestorProjects() as $ancestor) {
|
||||||
$ancestor_phid = $ancestor->getPHID();
|
$ancestor_phid = $ancestor->getPHID();
|
||||||
|
|
|
@ -451,7 +451,7 @@ abstract class PhabricatorTypeaheadDatasource extends Phobject {
|
||||||
public static function isFunctionToken($token) {
|
public static function isFunctionToken($token) {
|
||||||
// We're looking for a "(" so that a string like "members(q" is identified
|
// We're looking for a "(" so that a string like "members(q" is identified
|
||||||
// and parsed as a function call. This allows us to start generating
|
// and parsed as a function call. This allows us to start generating
|
||||||
// results immeidately, before the user fully types out "members(quack)".
|
// results immediately, before the user fully types out "members(quack)".
|
||||||
return (strpos($token, '(') !== false);
|
return (strpos($token, '(') !== false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ final class PhabricatorStatusUIExample extends PhabricatorUIExample {
|
||||||
$view->addItem(
|
$view->addItem(
|
||||||
id(new PHUIStatusItemView())
|
id(new PHUIStatusItemView())
|
||||||
->setIcon(PHUIStatusItemView::ICON_WARNING, 'dark', pht('Caution'))
|
->setIcon(PHUIStatusItemView::ICON_WARNING, 'dark', pht('Caution'))
|
||||||
->setTarget(pht('Pomegranite'))
|
->setTarget(pht('Pomegranate'))
|
||||||
->setNote(pht('Lots of seeds. Watch out.')));
|
->setNote(pht('Lots of seeds. Watch out.')));
|
||||||
|
|
||||||
$view->addItem(
|
$view->addItem(
|
||||||
|
|
|
@ -87,7 +87,7 @@ you to consent. If you are not comfortable with this, do not sign the CLA and
|
||||||
do not contribute to Phabricator.
|
do not contribute to Phabricator.
|
||||||
|
|
||||||
**Limitation of Liability**: The second benefit the CLA provides is that it
|
**Limitation of Liability**: The second benefit the CLA provides is that it
|
||||||
makes the terms of your contribition explicitly clear upfront, and it puts us
|
makes the terms of your contribution explicitly clear upfront, and it puts us
|
||||||
in a much stronger legal position if a contributor later claims there is
|
in a much stronger legal position if a contributor later claims there is
|
||||||
ambiguity about ownership of their work. We can point at the document they
|
ambiguity about ownership of their work. We can point at the document they
|
||||||
signed as proof that they consented to our use and understood the terms of
|
signed as proof that they consented to our use and understood the terms of
|
||||||
|
@ -100,7 +100,7 @@ anything we are likely to face, but SCO claimed billions of dollars in damages
|
||||||
and the litigation has now been ongoing for more than a decade.
|
and the litigation has now been ongoing for more than a decade.
|
||||||
|
|
||||||
We want to avoid situations like this in the future by making the terms of
|
We want to avoid situations like this in the future by making the terms of
|
||||||
contibution explicit upfront.
|
contribution explicit upfront.
|
||||||
|
|
||||||
Generally, we believe the terms of the CLA are fair and reasonable for
|
Generally, we believe the terms of the CLA are fair and reasonable for
|
||||||
contributors, and that the primary way contributors benefit from contributing
|
contributors, and that the primary way contributors benefit from contributing
|
||||||
|
@ -158,7 +158,7 @@ local law.
|
||||||
|
|
||||||
If you are unsure, you should speak with your employer or a lawyer. If you
|
If you are unsure, you should speak with your employer or a lawyer. If you
|
||||||
contribute code you do not own under the individual CLA, you are exposing
|
contribute code you do not own under the individual CLA, you are exposing
|
||||||
yourself to liability. You may also be exposing us to liablity, but we'll have
|
yourself to liability. You may also be exposing us to liability, but we'll have
|
||||||
the CLA on our side to show that we were unwilling pawns in your malicious
|
the CLA on our side to show that we were unwilling pawns in your malicious
|
||||||
scheme to defraud your employer.
|
scheme to defraud your employer.
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,7 @@ Additional Resources
|
||||||
|
|
||||||
Poor problem descriptions are a common issue in software development and
|
Poor problem descriptions are a common issue in software development and
|
||||||
extensively documented elsewhere. Here are some additional resources describing
|
extensively documented elsewhere. Here are some additional resources describing
|
||||||
how to describe problems and ask questions effectivey:
|
how to describe problems and ask questions effectively:
|
||||||
|
|
||||||
- [[ http://www.catb.org/esr/faqs/smart-questions.html | How To Ask
|
- [[ http://www.catb.org/esr/faqs/smart-questions.html | How To Ask
|
||||||
Questions The Smart Way ]], by Eric S. Raymond
|
Questions The Smart Way ]], by Eric S. Raymond
|
||||||
|
|
|
@ -198,7 +198,7 @@ would technically be English and most English readers would understand the
|
||||||
meaning, but no native English speaker would speak or write like this.
|
meaning, but no native English speaker would speak or write like this.
|
||||||
|
|
||||||
However, some languages have different subject-verb order rules or
|
However, some languages have different subject-verb order rules or
|
||||||
colloquisalisms, and a word order which transliterates like this may sound more
|
colloquialisms, and a word order which transliterates like this may sound more
|
||||||
natural to a native speaker. By translating fragments instead of complete
|
natural to a native speaker. By translating fragments instead of complete
|
||||||
sentences, you lock translators into English word order.
|
sentences, you lock translators into English word order.
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ we'll probably be able to follow them and reproduce the issue ourselves.
|
||||||
|
|
||||||
If you can't follow your steps because they depend on information which is not
|
If you can't follow your steps because they depend on information which is not
|
||||||
available on a clean instance (for example, a certain config setting), rewrite
|
available on a clean instance (for example, a certain config setting), rewrite
|
||||||
them to include instrutions to create that information (for example, adjusting
|
them to include instructions to create that information (for example, adjusting
|
||||||
the config to the problematic value).
|
the config to the problematic value).
|
||||||
|
|
||||||
If you follow your instructions but the issue does not reproduce, the issue
|
If you follow your instructions but the issue does not reproduce, the issue
|
||||||
|
@ -191,7 +191,7 @@ smaller case which reproduces the problem, which might be something like this:
|
||||||
- Files like `A`, which have uppercase letters, do not work.
|
- Files like `A`, which have uppercase letters, do not work.
|
||||||
|
|
||||||
With a simpler reproduction scenario, you can simplify your steps to be more
|
With a simpler reproduction scenario, you can simplify your steps to be more
|
||||||
tailored and mimimal. This will help us pointpoint the issue more quickly and
|
tailored and minimal. This will help us pinpoint the issue more quickly and
|
||||||
be more certain that we've understood and resolved it.
|
be more certain that we've understood and resolved it.
|
||||||
|
|
||||||
It is more important that steps be complete than that they be simple, and it's
|
It is more important that steps be complete than that they be simple, and it's
|
||||||
|
|
|
@ -225,7 +225,7 @@ Cluster: Notifications
|
||||||
Configuring multiple notification hosts is simple and has no pre-requisites.
|
Configuring multiple notification hosts is simple and has no pre-requisites.
|
||||||
|
|
||||||
With multiple notification hosts, you can survive the loss of any subset of
|
With multiple notification hosts, you can survive the loss of any subset of
|
||||||
hosts as long as at least one host remains alive. Service may be breifly
|
hosts as long as at least one host remains alive. Service may be briefly
|
||||||
disrupted directly after the incident which destroys the other hosts.
|
disrupted directly after the incident which destroys the other hosts.
|
||||||
|
|
||||||
Notifications are noncritical, so this normally has little practical impact
|
Notifications are noncritical, so this normally has little practical impact
|
||||||
|
|
|
@ -31,7 +31,7 @@ although this may change in the future.
|
||||||
|
|
||||||
Phabricator applications //can// be partitioned across multiple database
|
Phabricator applications //can// be partitioned across multiple database
|
||||||
masters. This does not provide redundancy and generally does not increase
|
masters. This does not provide redundancy and generally does not increase
|
||||||
resiliance or resistance to data loss, but can help you scale and operate
|
resilience or resistance to data loss, but can help you scale and operate
|
||||||
Phabricator. For details, see
|
Phabricator. For details, see
|
||||||
@{article:Cluster: Partitioning and Advanced Configuration}.
|
@{article:Cluster: Partitioning and Advanced Configuration}.
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@ $ ./bin/almanac register \
|
||||||
For example, you might run this command on `repo001` when using a shared key:
|
For example, you might run this command on `repo001` when using a shared key:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./bin/almanac register
|
$ ./bin/almanac register \
|
||||||
--device keywarden.mycompany.net \
|
--device keywarden.mycompany.net \
|
||||||
--private-key /path/to/private-key \
|
--private-key /path/to/private-key \
|
||||||
--identify-as repo001.mycompany.net
|
--identify-as repo001.mycompany.net
|
||||||
|
|
|
@ -21,7 +21,7 @@ This configuration is complex, and very few installs will benefit from pursuing
|
||||||
it. Phabricator will normally run comfortably with a single database master
|
it. Phabricator will normally run comfortably with a single database master
|
||||||
even for large organizations.
|
even for large organizations.
|
||||||
|
|
||||||
Partitioning generally does not do much to increase resiliance or make it
|
Partitioning generally does not do much to increase resilience or make it
|
||||||
easier to recover from disasters, and is primarily a mechanism for scaling and
|
easier to recover from disasters, and is primarily a mechanism for scaling and
|
||||||
operational convenience.
|
operational convenience.
|
||||||
|
|
||||||
|
@ -212,14 +212,14 @@ only one master.
|
||||||
|
|
||||||
`persistent` //(bool)// Enables persistent connections. Defaults to off.
|
`persistent` //(bool)// Enables persistent connections. Defaults to off.
|
||||||
|
|
||||||
With persitent connections enabled, Phabricator will keep a pool of database
|
With persistent connections enabled, Phabricator will keep a pool of database
|
||||||
connections open between web requests and reuse them when serving subsequent
|
connections open between web requests and reuse them when serving subsequent
|
||||||
requests.
|
requests.
|
||||||
|
|
||||||
The primary benefit of using persistent connections is that it will greatly
|
The primary benefit of using persistent connections is that it will greatly
|
||||||
reduce pressure on how quickly outbound TCP ports are opened and closed. After
|
reduce pressure on how quickly outbound TCP ports are opened and closed. After
|
||||||
a TCP port closes, it normally can't be used again for about 60 seconds, so
|
a TCP port closes, it normally can't be used again for about 60 seconds, so
|
||||||
rapidly cycling ports can cause resource exuastion. If you're seeing failures
|
rapidly cycling ports can cause resource exhaustion. If you're seeing failures
|
||||||
because requests are unable to bind to an outbound port, enabling this option
|
because requests are unable to bind to an outbound port, enabling this option
|
||||||
is likely to fix the issue. This option may also slightly increase performance.
|
is likely to fix the issue. This option may also slightly increase performance.
|
||||||
|
|
||||||
|
|
|
@ -440,7 +440,7 @@ device or devices have up-to-date information.
|
||||||
|
|
||||||
When Phabricator can not tell which device in a cluster is a leader, it freezes
|
When Phabricator can not tell which device in a cluster is a leader, it freezes
|
||||||
the cluster because it is possible that some devices have less data and others
|
the cluster because it is possible that some devices have less data and others
|
||||||
have more, and if it choses a leader arbitrarily it may destroy some data
|
have more, and if it chooses a leader arbitrarily it may destroy some data
|
||||||
which you would prefer to retain.
|
which you would prefer to retain.
|
||||||
|
|
||||||
To resolve this, you need to tell Phabricator which device has the most
|
To resolve this, you need to tell Phabricator which device has the most
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue