Select the types of activity you want to include in your feed.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
···811811 // only the submitter can close a revision.
812812 'differential.always-allow-close' => false,
813813814814+ // If you set this to true, any user can abandon any revision. If false, only
815815+ // the submitter can abandon a revision.
816816+ 'differential.always-allow-abandon' => false,
817817+814818 // If you set this to true, any user can reopen a revision so long as it has
815819 // been closed. This can be useful if a revision is accidentally closed or
816820 // if a developer changes his or her mind after closing a revision. If it is
···165165 "where the reviewer is often the actual committer can benefit ".
166166 "from turning this option to true. If false, only the submitter ".
167167 "can close a revision.")),
168168+ $this->newOption('differential.always-allow-abandon', 'bool', false)
169169+ ->setBoolOptions(
170170+ array(
171171+ pht('Allow any user'),
172172+ pht('Restrict to submitter'),
173173+ ))
174174+ ->setSummary(pht('Allows any user to abandon revisions.'))
175175+ ->setDescription(
176176+ pht(
177177+ 'If you set this to true, any user can abandon any revision. If '.
178178+ 'false, only the submitter can abandon a revision.')),
168179 $this->newOption('differential.allow-reopen', 'bool', false)
169180 ->setBoolOptions(
170181 array(
···789789 $actor_phid = $this->getActor()->getPHID();
790790 $actor_is_author = ($author_phid == $actor_phid);
791791792792+ $config_abandon_key = 'differential.always-allow-abandon';
793793+ $always_allow_abandon = PhabricatorEnv::getEnvConfig($config_abandon_key);
794794+792795 $config_close_key = 'differential.always-allow-close';
793796 $always_allow_close = PhabricatorEnv::getEnvConfig($config_close_key);
794797···860863 break;
861864862865 case DifferentialAction::ACTION_ABANDON:
863863- if (!$actor_is_author) {
866866+ if (!$actor_is_author && !$always_allow_abandon) {
864867 return pht(
865868 "You can not abandon this revision because you do not own it. ".
866869 "You can only abandon revisions you own.");
···2929 'If you really want to delete the repository, run this command from '.
3030 'the command line:');
3131 $command = csprintf(
3232- 'phabricator/ $ ./bin/repository delete %s',
3232+ 'phabricator/ $ ./bin/remove destroy %s',
3333 $repository->getCallsign());
3434 $text_2 = pht('Repositories touch many objects and as such deletes are '.
3535 'prohibitively expensive to run from the web UI.');
···2233final class PhabricatorProjectColumn
44 extends PhabricatorProjectDAO
55- implements PhabricatorPolicyInterface {
55+ implements PhabricatorPolicyInterface,
66+ PhabricatorDestructableInterface {
6778 const STATUS_ACTIVE = 0;
89 const STATUS_DELETED = 1;
···85868687 public function describeAutomaticCapability($capability) {
8788 return pht('Users must be able to see a project to see its board.');
8989+ }
9090+9191+9292+/* -( PhabricatorDestructableInterface )----------------------------------- */
9393+9494+ public function destroyObjectPermanently(
9595+ PhabricatorDestructionEngine $engine) {
9696+9797+ $this->openTransaction();
9898+ $this->delete();
9999+ $this->saveTransaction();
88100 }
8910190102}
···2929 if (!isset($this->parents[$commit])) {
3030 $this->parseUntil($commit);
3131 }
3232- return $this->parents[$commit];
3232+ $parents = $this->parents[$commit];
3333+3434+ // NOTE: In Git, it is possible for a commit to list the same parent more
3535+ // than once. See T5226. Discard duplicate parents.
3636+3737+ return array_unique($parents);
3338 }
34393540 public function getCommitDate($commit) {
···92929393To install Arcanist, pick an install directory and clone the code from GitHub:
94949595- some_install_path/ $ git clone git://github.com/phacility/libphutil.git
9696- some_install_path/ $ git clone git://github.com/phacility/arcanist.git
9595+ some_install_path/ $ git clone https://github.com/phacility/libphutil.git
9696+ some_install_path/ $ git clone https://github.com/phacility/arcanist.git
97979898This should leave you with a directory structure like this
9999