mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 08:42:41 +01:00
Remove bin/files purge
workflow
Summary: Fixes T12948. See that task for substantial discussion and context. Briefly: - This workflow is very old, and won't work for large (>2GB) files. - This workflow has become more dangerous than it once was, and can fail in several ways that delete data and/or make recovery much more difficult (see T12948 for more discussion). - This was originally added in D6068, which is a bit muddled, but looks like "one install ran into a weird issue so I wrote a script for them"; this would be a Consulting/Support issue and not come upstream today. I can't identify any arguments for retaining this workflow there, at least. Test Plan: - Grepped for `files purge`, got nothing. - Grepped for `purge`, looked for anything that looked like instructions or documentation, got nothing. I don't recall recommending anyone run this script in many years, and didn't even remember that it existed or what it did when T12948 was reported, so I believe it is not in widespread use. Reviewers: joshuaspence, chad Reviewed By: joshuaspence Maniphest Tasks: T12948 Differential Revision: https://secure.phabricator.com/D18384
This commit is contained in:
parent
e89087fc51
commit
8443366f32
2 changed files with 0 additions and 73 deletions
|
@ -2900,7 +2900,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorFilesManagementGenerateKeyWorkflow' => 'applications/files/management/PhabricatorFilesManagementGenerateKeyWorkflow.php',
|
'PhabricatorFilesManagementGenerateKeyWorkflow' => 'applications/files/management/PhabricatorFilesManagementGenerateKeyWorkflow.php',
|
||||||
'PhabricatorFilesManagementIntegrityWorkflow' => 'applications/files/management/PhabricatorFilesManagementIntegrityWorkflow.php',
|
'PhabricatorFilesManagementIntegrityWorkflow' => 'applications/files/management/PhabricatorFilesManagementIntegrityWorkflow.php',
|
||||||
'PhabricatorFilesManagementMigrateWorkflow' => 'applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php',
|
'PhabricatorFilesManagementMigrateWorkflow' => 'applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php',
|
||||||
'PhabricatorFilesManagementPurgeWorkflow' => 'applications/files/management/PhabricatorFilesManagementPurgeWorkflow.php',
|
|
||||||
'PhabricatorFilesManagementRebuildWorkflow' => 'applications/files/management/PhabricatorFilesManagementRebuildWorkflow.php',
|
'PhabricatorFilesManagementRebuildWorkflow' => 'applications/files/management/PhabricatorFilesManagementRebuildWorkflow.php',
|
||||||
'PhabricatorFilesManagementWorkflow' => 'applications/files/management/PhabricatorFilesManagementWorkflow.php',
|
'PhabricatorFilesManagementWorkflow' => 'applications/files/management/PhabricatorFilesManagementWorkflow.php',
|
||||||
'PhabricatorFilesOnDiskBuiltinFile' => 'applications/files/builtin/PhabricatorFilesOnDiskBuiltinFile.php',
|
'PhabricatorFilesOnDiskBuiltinFile' => 'applications/files/builtin/PhabricatorFilesOnDiskBuiltinFile.php',
|
||||||
|
@ -8238,7 +8237,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorFilesManagementGenerateKeyWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
'PhabricatorFilesManagementGenerateKeyWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
||||||
'PhabricatorFilesManagementIntegrityWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
'PhabricatorFilesManagementIntegrityWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
||||||
'PhabricatorFilesManagementMigrateWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
'PhabricatorFilesManagementMigrateWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
||||||
'PhabricatorFilesManagementPurgeWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
|
||||||
'PhabricatorFilesManagementRebuildWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
'PhabricatorFilesManagementRebuildWorkflow' => 'PhabricatorFilesManagementWorkflow',
|
||||||
'PhabricatorFilesManagementWorkflow' => 'PhabricatorManagementWorkflow',
|
'PhabricatorFilesManagementWorkflow' => 'PhabricatorManagementWorkflow',
|
||||||
'PhabricatorFilesOnDiskBuiltinFile' => 'PhabricatorFilesBuiltinFile',
|
'PhabricatorFilesOnDiskBuiltinFile' => 'PhabricatorFilesBuiltinFile',
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class PhabricatorFilesManagementPurgeWorkflow
|
|
||||||
extends PhabricatorFilesManagementWorkflow {
|
|
||||||
|
|
||||||
protected function didConstruct() {
|
|
||||||
$this
|
|
||||||
->setName('purge')
|
|
||||||
->setSynopsis(pht('Delete files with missing data.'))
|
|
||||||
->setArguments(
|
|
||||||
array(
|
|
||||||
array(
|
|
||||||
'name' => 'all',
|
|
||||||
'help' => pht('Update all files.'),
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'name' => 'dry-run',
|
|
||||||
'help' => pht('Show what would be updated.'),
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'name' => 'names',
|
|
||||||
'wildcard' => true,
|
|
||||||
),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function execute(PhutilArgumentParser $args) {
|
|
||||||
$console = PhutilConsole::getConsole();
|
|
||||||
|
|
||||||
$iterator = $this->buildIterator($args);
|
|
||||||
if (!$iterator) {
|
|
||||||
throw new PhutilArgumentUsageException(
|
|
||||||
pht(
|
|
||||||
'Either specify a list of files to purge, or use `%s` '.
|
|
||||||
'to purge all files.',
|
|
||||||
'--all'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$is_dry_run = $args->getArg('dry-run');
|
|
||||||
|
|
||||||
foreach ($iterator as $file) {
|
|
||||||
$fid = 'F'.$file->getID();
|
|
||||||
|
|
||||||
try {
|
|
||||||
$file->loadFileData();
|
|
||||||
$okay = true;
|
|
||||||
} catch (Exception $ex) {
|
|
||||||
$okay = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($okay) {
|
|
||||||
$console->writeOut(
|
|
||||||
"%s\n",
|
|
||||||
pht('%s: File data is OK, not purging.', $fid));
|
|
||||||
} else {
|
|
||||||
if ($is_dry_run) {
|
|
||||||
$console->writeOut(
|
|
||||||
"%s\n",
|
|
||||||
pht('%s: Would purge (dry run).', $fid));
|
|
||||||
} else {
|
|
||||||
$console->writeOut(
|
|
||||||
"%s\n",
|
|
||||||
pht('%s: Purging.', $fid));
|
|
||||||
$file->delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue