{"record":{"id":"e8ca037d62ffc5d5","repo":"phacility/phabricator","slug":"unknown-repository-s","errorCode":null,"errorMessage":"Unknown repository \"%s\"!","messagePattern":"Unknown repository \"(.+?)\"!","errorType":"exception","errorClass":"PhutilArgumentUsageException","httpStatus":null,"severity":"error","filePath":"src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php","lineNumber":156,"sourceCode":"      // previous to PHP 5.1.0 you would compare with -1, instead of false\n      if (false === $min_timestamp) {\n        throw new PhutilArgumentUsageException(\n          pht(\n            \"Supplied --min-date is not valid. See help for valid examples.\\n\".\n            \"Supplied value: '%s'\\n\",\n            $min_date));\n      }\n    }\n\n    $commits = array();\n    if ($all_from_repo) {\n      $repository = id(new PhabricatorRepositoryQuery())\n        ->setViewer(PhabricatorUser::getOmnipotentUser())\n        ->withIdentifiers(array($all_from_repo))\n        ->executeOne();\n\n      if (!$repository) {\n        throw new PhutilArgumentUsageException(\n          pht('Unknown repository \"%s\"!', $all_from_repo));\n      }\n\n      $query = id(new DiffusionCommitQuery())\n        ->setViewer(PhabricatorUser::getOmnipotentUser())\n        ->withRepository($repository);\n\n      if ($min_timestamp) {\n        $query->withEpochRange($min_timestamp, null);\n      }\n\n      if ($importing) {\n        $query->withImporting(true);\n      }\n\n      $commits = $query->execute();\n\n      if (!$commits) {","sourceCodeStart":138,"sourceCodeEnd":174,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php#L138-L174","documentation":"On the `--all` path, reparse resolves the argument as a repository identifier via PhabricatorRepositoryQuery (omnipotent viewer, withIdentifiers). If no repository matches the callsign/monogram/PHID given, the workflow aborts with this PhutilArgumentUsageException.","triggerScenarios":"Running `./bin/repository reparse --all XYZ` where XYZ is not an existing repository's callsign, monogram, or PHID — typo, deleted repository, or wrong environment's database.","commonSituations":"Typos in callsigns; running against a staging/restored database where the repository does not exist; scripts carrying hardcoded callsigns after a repository was recreated.","solutions":["Confirm the identifier: `./bin/repository list-repositories` shows callsigns/monograms; use the repository's PHID for absolute precision.","If the repository was recreated or migrated, update the script's hardcoded callsign.","Check you are connected to the intended environment (correct Phabricator install/config)."],"exampleFix":"# before\n./bin/repository reparse --all XZY --message   # typo'd callsign\n# Usage exception: Unknown repository \"XZY\"!\n\n# after\n./bin/repository reparse --all XYZ --message   # exact callsign from list-repositories","handlingStrategy":"validation","validationCode":"# Validate the repository identifier before reparse\n./bin/repository list-repositories | grep -q \"R<callsign>\" || {\n  echo \"repository not found in this install\" >&2; exit 1;\n}\n./bin/repository reparse --all <callsign> --message","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Source callsigns from `list-repositories` or the database instead of hardcoding them.","After recreating or migrating repositories, audit scripts for stale identifiers."],"tags":["php","phabricator","cli","reparse","repository-not-found"],"backgroundTag":"repository-not-found","analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}