phacility/phabricator · error · Exception

You can not abandon this revision because it has already bee

Error message

You can not abandon this revision because it has already been closed. Only open revisions can be abandoned.

What it means

Error "You can not abandon this revision because it has already been closed. Only open revisions can be abandoned." thrown in phacility/phabricator.

Source

Thrown at src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php:60

    return array();
  }

  public function getCommandSummary() {
    return pht('Abandon a revision.');
  }

  public function generateOldValue($object) {
    return $object->isAbandoned();
  }

  public function applyInternalEffects($object, $value) {
    $status_abandoned = DifferentialRevisionStatus::ABANDONED;
    $object->setModernRevisionStatus($status_abandoned);
  }

  protected function validateAction($object, PhabricatorUser $viewer) {
    if ($object->isClosed()) {
      throw new Exception(
        pht(
          'You can not abandon this revision because it has already been '.
          'closed. Only open revisions can be abandoned.'));
    }

    $config_key = 'differential.always-allow-abandon';
    if (!PhabricatorEnv::getEnvConfig($config_key)) {
      if (!$this->isViewerRevisionAuthor($object, $viewer)) {
        throw new Exception(
          pht(
            'You can not abandon this revision because you are not the '.
            'author. You can only abandon revisions you own. You can change '.
            'this behavior by adjusting the "%s" setting in Config.',
            $config_key));
      }
    }
  }

View on GitHub (pinned to 5720a38cfe)

When it happens

Trigger: Thrown at src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php:60 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21). Data as JSON: /api/errors/e59bb85c882871a6. Report an issue: GitHub.