Page MenuHomePhabricator

Removing stale commits
Closed, DuplicatePublic

Description

Is it possible to remove stale commits from the database? Is there an easy way to do this? I have a bunch (couple of hundred perhaps) of commits causing fatals in the taskmaster daemons, possibly because of force pushes.

[04-Nov-2014 00:33:12 Australia/Sydney] [2014-11-04 00:33:12] EXCEPTION: (PhutilProxyException) Error while executing task ID 14412646 from queue. {>} (CommandException) 
Command failed with error #128!
COMMAND
git log -n1 --format='%P' '99d2b7b8829da153d31b47d17e123a75a6b51e2d'

STDOUT
(empty)

STDERR
fatal: bad object 99d2b7b8829da153d31b47d17e123a75a6b51e2d
 at [<phutil>/src/future/exec/ExecFuture.php:397]
[04-Nov-2014 00:33:12 Australia/Sydney]   #0 ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/storage/PhabricatorRepository.php:327]
[04-Nov-2014 00:33:12 Australia/Sydney]   #1 PhabricatorRepository::execxLocalCommand(string, string, string) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php:19]
[04-Nov-2014 00:33:12 Australia/Sydney]   #2 PhabricatorRepositoryGitCommitChangeParserWorker::parseCommitChanges(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryCommitChangeParserWorker.php:30]
[04-Nov-2014 00:33:12 Australia/Sydney]   #3 PhabricatorRepositoryCommitChangeParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44]
[04-Nov-2014 00:33:12 Australia/Sydney]   #4 PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:87]
[04-Nov-2014 00:33:12 Australia/Sydney]   #5 PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:156]
[04-Nov-2014 00:33:12 Australia/Sydney]   #6 PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:19]
[04-Nov-2014 00:33:12 Australia/Sydney]   #7 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:91]
[04-Nov-2014 00:33:12 Australia/Sydney]   #8 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:111]

Event Timeline

joshuaspence raised the priority of this task from to Needs Triage.
joshuaspence updated the task description. (Show Details)
joshuaspence added a project: Phabricator.
joshuaspence added a subscriber: joshuaspence.
epriestley added a subscriber: epriestley.

No, and we don't want to remove them. T5715 discusses rationale and building a repository sync workflow or something like that to mark them.