Summary: - Removed trailing newlines. - Added newline at EOF. - Removed leading newlines. - Trimmed trailing whitespace. - Spelling fix. - Added newline at EOF Test Plan: N/A Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley CC: hach-que, chad, Korvin, epriestley, aran Differential Revision: https://secure.phabricator.com/D8344
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env php
 | 
						|
<?php
 | 
						|
 | 
						|
$root = dirname(dirname(dirname(__FILE__)));
 | 
						|
require_once $root.'/scripts/__init_script__.php';
 | 
						|
 | 
						|
$args = new PhutilArgumentParser($argv);
 | 
						|
$args->setTagline('permanently destroy a Differential Revision');
 | 
						|
$args->setSynopsis(<<<EOHELP
 | 
						|
**destroy_revision.php** __D123__
 | 
						|
  Permanently destroy the specified Differential Revision (for example,
 | 
						|
  because it contains secrets that the world is not ready to know).
 | 
						|
 | 
						|
  Normally, you can just "Abandon" unwanted revisions, but in dire
 | 
						|
  circumstances this script can be used to completely destroy a
 | 
						|
  revision. Destroying a revision may cause some glitches in
 | 
						|
  linked objects.
 | 
						|
 | 
						|
  The revision is utterly destroyed and can not be recovered unless you
 | 
						|
  have backups.
 | 
						|
EOHELP
 | 
						|
);
 | 
						|
$args->parseStandardArguments();
 | 
						|
$args->parse(
 | 
						|
  array(
 | 
						|
    array(
 | 
						|
      'name'      => 'revision',
 | 
						|
      'wildcard'  => true,
 | 
						|
    ),
 | 
						|
  ));
 | 
						|
 | 
						|
$revisions = $args->getArg('revision');
 | 
						|
if (count($revisions) != 1) {
 | 
						|
  $args->printHelpAndExit();
 | 
						|
}
 | 
						|
 | 
						|
$id = trim(strtolower(head($revisions)), 'd ');
 | 
						|
$revision = id(new DifferentialRevision())->load($id);
 | 
						|
 | 
						|
if (!$revision) {
 | 
						|
  throw new Exception("No revision '{$id}' exists!");
 | 
						|
}
 | 
						|
 | 
						|
$title = $revision->getTitle();
 | 
						|
$ok = phutil_console_confirm("Really destroy 'D{$id}: {$title}' forever?");
 | 
						|
if (!$ok) {
 | 
						|
  throw new Exception("User aborted workflow.");
 | 
						|
}
 | 
						|
 | 
						|
$revision->delete();
 | 
						|
echo "OK, destroyed revision.\n";
 |