1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 08:42:41 +01:00

Finish Differential options.

Test Plan: Saw the new options show up, saved some of them.

Reviewers: epriestley, chad, btrahan

CC: aran, Korvin

Maniphest Tasks: T2255

Differential Revision: https://secure.phabricator.com/D4443
This commit is contained in:
Ricky Elrod 2013-01-15 13:17:21 -08:00 committed by epriestley
parent 950076ec95
commit 7857508185

View file

@ -13,11 +13,50 @@ final class PhabricatorDifferentialConfigOptions
public function getOptions() {
return array(
$this->newOption(
'differential.revision-custom-detail-renderer',
'class',
null)
->setBaseClass('DifferentialRevisionDetailRenderer')
->setDescription(pht("Custom revision detail renderer.")),
$this->newOption(
'differential.custom-remarkup-rules',
'list<string>',
null)
->setSummary(pht('Custom remarkup rules.'))
->setDescription(
pht(
"Array for custom remarkup rules. The array should have a list ".
"of class names of classes that extend PhutilRemarkupRule")),
$this->newOption(
'differential.custom-remarkup-block-rules',
'list<string>',
null)
->setSummary(pht('Custom remarkup block rules.'))
->setDescription(
pht(
"Array for custom remarkup block rules. The array should have a ".
"list of class names of classes that extend ".
"PhutilRemarkupEngineBlockRule")),
$this->newOption(
'differential.whitespace-matters',
'list<string>',
array())
->setDescription(
pht(
"List of file regexps where whitespace is meaningful and should ".
"not use 'ignore-all' by default")),
$this->newOption(
'differential.field-selector',
'class',
'DifferentialDefaultFieldSelector')
->setBaseClass('DifferentialDefaultFieldSelector')
->setDescription(pht('Field selector class')),
$this->newOption('differential.show-host-field', 'bool', false)
->setBoolOptions(
array(
pht('Show "Host" Fields'),
pht('Disable "Host" Fields'),
pht('Hide "Host" Fields'),
))
->setSummary(pht('Show or hide the "Host" and "Path" fields.'))
->setDescription(
@ -44,6 +83,18 @@ final class PhabricatorDifferentialConfigOptions
'If you would prefer not to use this field, you can disable it '.
'here. You can also make it optional (instead of required) by '.
'setting {{differential.require-test-plan-field}}.')),
$this->newOption('differential.require-test-plan-field', 'bool', true)
->setBoolOptions(
array(
pht("Require 'Test Plan' field"),
pht("Make 'Test Plan' field optional"),
))
->setSummary(pht('Require "Test Plan" field?'))
->setDescription(
pht(
"Differential has a required 'Test Plan' field by default. You ".
"can make it optional by setting this to false. You can also ".
"completely remove it above, if you prefer.")),
$this->newOption('differential.enable-email-accept', 'bool', false)
->setBoolOptions(
array(
@ -61,6 +112,95 @@ final class PhabricatorDifferentialConfigOptions
'sketchy and implies the revision may not actually be receiving '.
'thorough review. You can enable "!accept" by setting this '.
'option to true.')),
$this->newOption('differential.anonymous-access', 'bool', false)
->setBoolOptions(
array(
pht('Allow guests to view revisions'),
pht('Require authentication to view revisions'),
))
->setSummary(pht('Anonymous access to Differential revisions.'))
->setDescription(
pht(
"If you set this to true, users won't need to login to view ".
"Differential revisions. Anonymous users will have read-only ".
"access and won't be able to interact with the revisions.")),
$this->newOption('differential.expose-emails-prudently', 'bool', false)
->setBoolOptions(
array(
pht("Expose revision author email address via Conduit"),
pht("Don't expose revision author email address via Conduit"),
))
->setSummary(
pht(
"Determines whether or not the author's email address should be ".
"exposed via Conduit."))
->setDescription(
pht(
"If you set this to true, revision author email address ".
"information will be exposed in Conduit. This is useful for ".
"Arcanist.\n\n".
"For example, consider the 'arc patch DX' workflow which needs ".
"to ask Differential for the revision DX. This data often should ".
"contain the author's email address, eg 'George Washington ".
"<gwashinton@example.com>' when DX is a git or mercurial ".
"revision. If this option is false, Differential defaults to the ".
"best it can, something like 'George Washington' or ".
"'gwashington'.")),
$this->newOption('differential.generated-paths', 'list<string>', null)
->setSummary(pht("File regexps to treat as automatically generated."))
->setDescription(
pht(
"List of file regexps that should be treated as if they are ".
"generated by an automatic process, and thus get hidden by ".
"default in differential."))
->addExample('["/config\.h$/", "#/autobuilt/#"]', pht("Valid Setting")),
$this->newOption('differential.allow-self-accept', 'bool', false)
->setBoolOptions(
array(
pht("Allow self-accept"),
pht("Disallow self-accept"),
))
->setSummary(pht("Allows users to accept their own revisions."))
->setDescription(
pht(
"If you set this to true, users can accept their own revisions. ".
"This action is disabled by default because it's most likely not ".
"a behavior you want, but it proves useful if you are working ".
"alone on a project and want to make use of all of ".
"differential's features.")),
$this->newOption('differential.always-allow-close', 'bool', false)
->setBoolOptions(
array(
pht("Allow any user"),
pht("Restrict to submitter"),
))
->setSummary(pht("Allows any user to close accepted revisions."))
->setDescription(
pht(
"If you set this to true, any user can close any revision so ".
"long as it has been accepted. This can be useful depending on ".
"your development model. For example, github-style pull requests ".
"where the reviewer is often the actual committer can benefit ".
"from turning this option to true. If false, only the submitter ".
"can close a revision.")),
$this->newOption('differential.days-fresh', 'int', 1)
->setSummary(
pht(
"For how many business days should a revision be considered ".
"'fresh'?"))
->setDescription(
pht(
"Revisions newer than this number of days are marked as fresh in ".
"Action Required and Revisions Waiting on You views. Only work ".
"days (not weekends and holidays) are included. Set to 0 to ".
"disable this feature.")),
$this->newOption('differential.days-stale', 'int', 3)
->setSummary(
pht("After this many days, a revision will be considered 'stale'."))
->setDescription(
pht(
"Similar to `differential.days-fresh` but marks stale revisions. ".
"If the revision is even older than it is when marked as 'old'.")),
);
}