{"record":{"id":"97684f1aa5248de5","repo":"phacility/phabricator","slug":"you-can-not-close-this-revision-because-it-has-not","errorCode":null,"errorMessage":"You can not close this revision because it has not been accepted. Revisions must be accepted before they can be closed.","messagePattern":"You can not close this revision because it has not been accepted\\. Revisions must be accepted before they can be closed\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php","lineNumber":74,"sourceCode":"\n  protected function validateAction($object, PhabricatorUser $viewer) {\n    if ($this->hasEditor()) {\n      if ($this->getEditor()->getIsCloseByCommit()) {\n        // If we're closing a revision because we discovered a commit, we don't\n        // care what state it was in.\n        return;\n      }\n    }\n\n    if ($object->isClosed()) {\n      throw new Exception(\n        pht(\n          'You can not close this revision because it has already been '.\n          'closed. Only open revisions can be closed.'));\n    }\n\n    if (!$object->isAccepted()) {\n      throw new Exception(\n        pht(\n          'You can not close this revision because it has not been accepted. '.\n          'Revisions must be accepted before they can be closed.'));\n    }\n\n    $config_key = 'differential.always-allow-close';\n    if (!PhabricatorEnv::getEnvConfig($config_key)) {\n      if (!$this->isViewerRevisionAuthor($object, $viewer)) {\n        throw new Exception(\n          pht(\n            'You can not close this revision because you are not the '.\n            'author. You can only close revisions you own. You can change '.\n            'this behavior by adjusting the \"%s\" setting in Config.',\n            $config_key));\n      }\n    }\n  }\n","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php#L56-L92","documentation":"Error \"You can not close this revision because it has not been accepted. Revisions must be accepted before they can be closed.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php:74 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}