[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/scripts/symbols/ -> clear_project_symbols.php (source)

   1  #!/usr/bin/env php
   2  <?php
   3  
   4  $root = dirname(dirname(dirname(__FILE__)));
   5  require_once $root.'/scripts/__init_script__.php';
   6  
   7  $project = id(new PhabricatorRepositoryArcanistProject())->loadOneWhere(
   8    'name = %s', $argv[1]);
   9  if (!$project) {
  10    throw new Exception('No such arcanist project.');
  11  }
  12  
  13  $input = file_get_contents('php://stdin');
  14  $normalized = array();
  15  foreach (explode("\n", trim($input)) as $path) {
  16    // emulate the behavior of the symbol generation scripts
  17    $normalized[] = '/'.ltrim($path, './');
  18  }
  19  $paths = PhabricatorRepositoryCommitChangeParserWorker::lookupOrCreatePaths(
  20    $normalized);
  21  
  22  $symbol = new PhabricatorRepositorySymbol();
  23  $conn_w = $symbol->establishConnection('w');
  24  
  25  foreach (array_chunk(array_values($paths), 128) as $chunk) {
  26    queryfx(
  27      $conn_w,
  28      'DELETE FROM %T WHERE arcanistProjectID = %d AND pathID IN (%Ld)',
  29      $symbol->getTableName(),
  30      $project->getID(),
  31      $chunk);
  32  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1